关于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 相关文章推荐
Firefox中beforeunload事件的实现缺陷浅析
May 03 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
Jan 17 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
May 28 Javascript
详解JavaScript 中的 replace 方法
Jan 01 Javascript
深入理解$.each和$(selector).each
May 15 Javascript
同步异步动态引入js文件的几种方法总结
Sep 23 Javascript
vue中计算属性(computed)、methods和watched之间的区别
Jul 27 Javascript
Vue v2.5 调整和更新不完全问题
Oct 24 Javascript
JavaScript实现音乐自动切换和轮播
Nov 05 Javascript
vue动态设置img的src路径实例
Sep 18 Javascript
electron-vue开发环境内存泄漏问题汇总
Oct 10 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 Vue.js
前端设计师们最常用的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
PHP 实用代码收集
2010/01/22 PHP
为你总结一些php信息函数
2015/10/21 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
JavaScript 继承的实现
2009/07/09 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
Django 使用logging打印日志的实例
2018/04/28 Python
Django 视图层(view)的使用
2018/11/09 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
基于FME使用Python过程图解
2020/05/13 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
学校师德承诺书
2014/05/23 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
主持人开幕词
2015/01/29 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android