关于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获取当前ip的代码
May 10 Javascript
基于jQuery试卷自动排版系统
Jul 18 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
Jan 19 Javascript
JavaScript将页面表格导出为Excel的具体实现
Dec 27 Javascript
判断某个字符在一个字符串中是否存在的js代码
Feb 28 Javascript
Js冒泡事件详解及阻止示例
Mar 21 Javascript
javascript 获取函数形参个数
Jul 31 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
Apr 13 jQuery
关于Vue背景图打包之后访问路径错误问题的解决
Nov 03 Javascript
基于Vue2.X的路由和钩子函数详解
Feb 09 Javascript
微信小程序实现限制用户转发功能的实例代码
Feb 22 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
Jun 05 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
比较详细PHP生成静态页面教程
2012/01/10 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
日期 时间js控件
2009/05/07 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
简述AngularJS相关的一些编程思想
2015/06/23 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
教你用python3根据关键词爬取百度百科的内容
2016/08/18 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
基于python log取对数详解
2018/06/08 Python
详解Python装饰器
2019/03/25 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
小学数学国培感言
2014/03/10 职场文书
村干部培训方案
2014/05/02 职场文书
新闻稿格式范文
2015/07/18 职场文书
校长新学期寄语2016
2015/12/04 职场文书
企业文化学习心得体会
2016/01/21 职场文书
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技