源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

关于js原型的面试题讲解

  • 时间:2020-02-10 07:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:关于js原型的面试题讲解
今天遇到关于javascript原型的一道面试题,现分析下: [b]原题如下:[/b]
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);
[b]分析:[/b] 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.   以上就是小编为大家带来的关于js原型的面试题讲解的全部内容了,希望对大家有所帮助,多多支持编程素材网~
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部