主页 > 前端 > javascript >
来源:未知 时间:2016-09-29 10:09 作者:xxadmin 阅读:次
[导读] 原题如下: functionA(){}functionB(a){ this.a=a;}functionC(a){ if(a){this.a=a; }}A.prototype.a=1;B.prototype.a=1;C.prototype.a=1;console.log(newA().a);console.log(newB().a);console.log(newC(2).a); 分析: console.log(new A().a); //new...
原题如下: function A(){ } function B(a){ this.a = a; } function C(a){ if(a){ this.a = a; } } A.prototype.a = 1; B.prototype.a = 1; C.prototype.a = 1; console.log(new A().a); console.log(new B().a); console.log(new C(2).a); 分析: console.log(new A().a); //new A()为构造函数创建的对象,本身没有a属性,所以向它的原型去找,发现原型的a属性的属性值为1,故该输出值为1; console.log(new B().a); //new B()为构造函数创建的对象,该构造函数有参数a,但该对象没有传参,故该输出值为undefined; console.log(new C(2).a); //new C()为构造函数创建的对象,该构造函数有参数a,且传的实参为2,执行函数内部,发现if为真,执行this.a = 2,故属性a的值为2; 故这三个的输出值分别为:1、undefined、2. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com