关于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 相关文章推荐
javascript 面向对象编程基础:封装
Aug 21 Javascript
js实现拉伸拖动iframe的具体代码
Aug 03 Javascript
JavaScript学习笔记之定时器
Jan 22 Javascript
浅谈javascript属性onresize
Apr 20 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
Jun 12 Javascript
jQuery实现两列等高并自适应高度
Dec 22 Javascript
详解使用fetch发送post请求时的参数处理
Apr 05 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
vue2.0自定义指令示例代码详解
Apr 25 Javascript
基于layui table返回的值的多级嵌套的解决方法
Sep 19 Javascript
微信小程序实现简单的select下拉框
Nov 23 Javascript
Three.js实现雪糕地球的使用示例详解
Jul 07 Javascript
前端设计师们最常用的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
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
PHP文件操作实现代码分享
2011/09/01 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
Vue学习笔记进阶篇之过渡状态详解
2017/07/14 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
用js实现放大镜效果
2020/10/28 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
独特的python循环语句
2016/11/20 Python
python反编译学习之字节码详解
2019/05/19 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
python numpy库np.percentile用法说明
2020/06/08 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
校园演讲稿汇总
2014/05/21 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
MySQL数据库 安全管理
2022/05/06 MySQL