关于js原型的面试题讲解


Posted in Javascript onSeptember 25, 2016

今天遇到关于javascript原型的一道面试题,现分析下:

原题如下:

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.

以上就是小编为大家带来的关于js原型的面试题讲解的全部内容了,希望对大家有所帮助,多多支持三水点靠木~

Javascript 相关文章推荐
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
Jan 22 Javascript
JavaScript 事件参考手册
Dec 24 Javascript
JS 常用校验函数
Mar 26 Javascript
jQuery的学习步骤
Feb 23 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
May 14 Javascript
使用jQuery操作HTML的table表格的实例解析
Mar 13 Javascript
VueJs与ReactJS和AngularJS的异同点
Dec 12 Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
微信小程序之页面拦截器的示例代码
Sep 07 Javascript
JavaScript使用面向对象实现的拖拽功能详解
Jun 12 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
Sep 21 Javascript
jQuery实现可以计算进制转换的计算器
Oct 19 jQuery
前端设计师们最常用的JS代码汇总
Sep 25 #Javascript
JavaScript使用Range调色及透明度实例
Sep 25 #Javascript
JavaScript中原型链存在的问题解析
Sep 25 #Javascript
JavaScript制作颜色反转小游戏
Sep 25 #Javascript
JavaScript实现简单的日历效果
Sep 25 #Javascript
javascript实现根据汉字获取简拼
Sep 25 #Javascript
概述VUE2.0不可忽视的很多变化
Sep 25 #Javascript
You might like
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
载入jQuery库的最佳方法详细说明及实现代码
2012/12/28 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
Python多线程编程(五):死锁的形成
2015/04/05 Python
python的dataframe和matrix的互换方法
2018/04/11 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
python递归函数用法详解
2020/10/26 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
软件测试专业推荐信
2014/09/18 职场文书
结婚纪念日感言
2015/08/01 职场文书
安全生产感想
2015/08/07 职场文书
成人成长感言如何写?
2019/08/16 职场文书