前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2015.12.09 HTML5真题练习

2015.12.09 HTML5真题练习

作者头像
HTML5学堂
发布2018-03-12 15:12:36
6520
发布2018-03-12 15:12:36
举报
文章被收录于专栏:HTML5学堂

HTML5学堂:每天一道题,强壮程序员!今日主要涉及12.08题目(原型、原型链、this属性)的解答,以及一道涉及数据类型基本知识的题目。

HTML5真题【2015.12.08】答案解析

12.08真题题目如下,最终输出的结果是多少?

代码语言:javascript
复制
<script>
function Fun(a, b) {
this.a = a;
this.b = b;
var c = 3;
}


Fun.prototype.sum = function() {
return this.a + this.b;
}


var fun = new Fun(1, 2);
console.log(fun.c);
console.log(fun.hasOwnProperty("sum"));
</script>

本题目的答案是:undefined和false。

本题目主要考察如下知识点:原型、原型链、this属性。

解释一下代码:创建了一个混合模式的面向对象的功能函数,构造函数名称为Fun,在Fun当中,有两个属性,a和b,由于是使用this进行定义,在构造函数实例化之后,每个实例化对象就拥有了a和b这两种属性。c在Fun函数当中,是以var定义的,此类变量可以认为是Fun的局部变量,并不会在Fun这个构造函数实例化的过程中创建出来。因此,fun.c的结果是undefined。

关于hasOwnProperty,先来介绍两个方法:

hasOwnProperty:是用来判断一个对象是否有给出名称的属性或对象(在方法中的参数)。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。

isPrototypeOf:是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。

回头来看这道题,sum这个方法是在Fun原型上的方法,并非是实例化出来的fun函数自身的方法,因此此处返回false。

HTML5真题【2015.12.09】题目

代码语言:javascript
复制
<script>
var str = '127.5.0';
var result = Number(str);
if (result == '127') {
console.log('1');
} else if (result == '127.5') {
console.log('2');
} else if (typeof result == 'Number') {
console.log('3');
} else if (result) {
console.log('4');
} else if (result = 0) {
console.log('5');
} else {
console.log('6');
}
</script>

关于每日代码练习题的答案和解析,我们会在明日文章当中,发布相关答案以及基本原理。(PS:周六日不发布题目)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 懂点君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTML5真题【2015.12.08】答案解析
  • HTML5真题【2015.12.09】题目
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档