网页交互开发高级第十三章课后习题及答案
课后习题:
一、 填空题
1. 在原型对象里面有一个______属性,该属性指向了构造函数。
2. 直接通过函数名调用函数时,this指向的是______。
3. 利用JavaScript提供的两种方式可手动控制this的指向,它们分别是______和______。
4. ______方法的含义是绑定,用于在调用函数前指定this的含义,实现提前绑定的效果。
5. 除了在JavaScript程序出现错误时自动抛出错误对象,用户也可以使用______关键字手动抛出错误对象。
6. 在错误处理中_____表示调用eval()函数错误。
二、 判断题
1. 构造函数主要用来创建对象,并为对象的成员赋初始值。( )
2. 在JavaScript中,每个对象都有一个__proto__属性,这个属性指向了对象的原型对象。( )
3. bind()方法的含义是绑定,用于在调用函数前指定this的含义,实现提前绑定的效果。( )
4. 每个构造函数都有一个prototype属性指向原型对象,原型对象通过constructor属性指向构造函数。( )
三、 选择题
1. 下列选项中,描述错误的是( )。
A. __proto__是一个标准的属性
B. 每个对象都有一个__proto__属性
C. 通过实例对象的constructor属性就可以访问实例对象的构造函数
D. 原型对象也是对象
2. 下面选项中,不能用来改变this指向的是( )。
A. apply() B. call() C. method() D. bind()
3. 下面选项中,描述错误的是( )。
A. 使用构造方法创建对象虽然很简单、方便,但是与类存在一定的区别
B. 在静态方法中不能使用this访问实例对象,因为静态方法与实例对象有关联
C. 在面向对象中有静态成员和实例成员的概念,实例成员是指实例对象的成员
D. 在JavaScript中,每个构造函数都有一个原型对象存在
4. Object的原型对象的__proto__属性为( )。
A. null B. undefined C. NaN D. String
5. 关于对象继承,下列描述错误的是( )。
A.在ES 6中,继承是通过定义两个类,然后子类用extends关键字继承父类实现的
B.ES 6提供了class语法用来定义类
C.类和构造函数的使用非常相似,不可以互相替代
D.若要实现子类继承父类的方法,不能直接将父类原型对象赋值给子类原型对象
四、 简答题
1. 请简单介绍什么是原型对象。
2. 请解释说明如何使用bind()和call()。
五、 编程题
利用构造函数编写一个计算器模块,提供加、减、乘、除运算方法。
答案:
一、 填空题
1. constructor
2. 全局对象window
3. apply()方法和call()方法
4. bind()
5. throw
6. EvalError
二、 判断题
1. 对
2. 对
3. 对
4. 对
三、 选择题
1. A
2. C
3. B
4. C
5. C
四、 简答题
1. 请简单介绍什么原型对象。
在JavaScript中,每个构造函数都有一个原型对象存在,这个原型对象通过构造函数的prototype属性来访问
如果不知道对象的构造函数,则可以用__proto__属性直接访问原型对象;
如果知道了一个对象的构造函数,可以用构造函数的prototype属性访问原型对象;
2. 请解释说明bind()和call()的使用。
call()方法可以更改函数内的this指向,它的第1个参数用来传入一个对象,它的第2个参数表示调用函数时传入的参数,call()使用第2~N个参数来表示调用函数时传入的函数。
bind()方法的含义是绑定,与call()用法基本类似,不同的是,bind()方法用于在调用函数前指定this的含义,实现提前绑定的效果,bind()方法在绑定时,还可以提前传入调用函数时的参数。
五、编程题
1. HTML代码如下:
<input type="text" id="num1">
<!-- 定义“+、-、*、/”符号 -->
<select name="" id="fuhao">
<option value="1" onclick="">+</option>
<option value="2" onclick="">-</option>
<option value="3" onclick="">*</option>
<option value="4" onclick="">/</option>
</select>
<input type="text" id="num2">
<!-- 定义“=”符号 -->
<input type="button" id="result" value="=">
<!-- 计算结果展示 -->
<input type="text" id="showNum">
js代码如下:
<script>
function Calc(showNum, result) {
this.showNum = showNum;
this.result = result;
// 默认计算结果为空
document.getElementById(this.showNum).value = ''
document.getElementById(this.result).onclick = function () {
// 获取数字num1、num2和计算符号
var fuhao = document.getElementById('fuhao').value;
var num1 = document.getElementById('num1').value;
var num2 = document.getElementById('num2').value;
if (fuhao == "1") {
document.getElementById('showNum').value = parseInt(num1) + parseInt(num2)
}
if (fuhao == "2") {
document.getElementById('showNum').value = parseInt(num1) - parseInt(num2)
}
if (fuhao == "3") {
document.getElementById('showNum').value = parseInt(num1) * parseInt(num2)
}
if (fuhao == "4") {
document.getElementById('showNum').value = parseInt(num1) / parseInt(num2)
}
}
}
// 初始化计算器
var calc = new Calc('showNum', 'result')
</script>
栏 目:JavaScript
本文标题:网页交互开发高级第十三章课后习题及答案
本文地址:http://www.wangzhanteacher.com/?m=home&c=View&a=index&aid=232
您可能感兴趣的文章
- 05-19DOM的元素获取
- 05-07innerText和innerHTML的区别
- 05-05JavaScript的基本变量应用格式
- 04-14利用数学函数随机生成六位数验证码
- 09-26console.dir()是什么意思?
- 09-12js的数组和二维数组教程
- 09-06window.onload事件的用途与格式
- 08-25网页交互开发高级第十四章课后习题及答案
- 08-25网页交互开发高级第十三章课后习题及答案
- 08-25网页交互开发高级第十二章课后习题及答案


阅读排行
推荐教程
- 09-12js的数组和二维数组教程
- 08-25网页交互开发高级第八章课后习题及答案
- 08-25网页交互开发高级第十四章课后习题及答案
- 04-14利用数学函数随机生成六位数验证码
- 05-05JavaScript的基本变量应用格式
- 08-25网页交互开发高级第九章课后习题及答案
- 08-25网页交互开发高级第七章课后习题及答案
- 08-25网页交互开发高级第六章课后习题及答案
- 08-25网页交互开发高级第十一章课后习题及答案
- 08-25网页交互开发高级第十二章课后习题及答案