欢迎来到计算机相关教程网!

JavaScript

当前位置: 主页 > 网页制作 > JavaScript

网页交互开发高级第十三章课后习题及答案

时间:2022-08-25 10:07:13|栏目:JavaScript|点击:

课后习题:

一、 填空题

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 () {

// 获取数字num1num2和计算符号

        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

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:8044517 | 邮箱:8044517@qq.com

Copyright © 2022-2025 计算机相关教程网 版权所有冀ICP备17010187号