2015.12.09 HTML5真题练习

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

HTML5真题【2015.12.08】答案解析

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

<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】题目

<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:周六日不发布题目)

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2015-12-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JavaQ

深入浅出JDK动态代理(二)

接上篇《深入浅出JDK动态代理(一)》 代理类解密 对于JDK动态代理,生成的代理类是什么样的?为什么调用代理类的任何方法时都一定会调用invoke方法?下面来...

3336
来自专栏专注 Java 基础分享

详解Java动态代理机制

     之前介绍的反射和注解都是Java中的动态特性,还有即将介绍的动态代理也是Java中的一个动态特性。这些动态特性使得我们的程序很灵活。动态代理是面向AO...

1965
来自专栏生信小驿站

Python数据处理从零开始----第三章(pandas)①删除列目录

在这里默认:axis=0,指删除index,因此删除columns时要指定axis=1; inplace=False,默认该删除操作不改变原数据,而是返回一个...

572
来自专栏架构说

c 语言基础知识之一

Q1 : 今天看redis代码 普通的函数都添加static 修改 static int aeApiCreate(aeEventLoop *eventLoop...

28011
来自专栏JavaEdge

深入理解JDK动态代理机制

3186
来自专栏LEo的网络日志

python技巧分享(十)

42613
来自专栏blackheart的专栏

[C#1] 12-特性

1.特性简介 特性仅仅是为目标元素提供关联的附加信息的一种方式,编译器的工作只是将这些附加信息放到托管模块的元数据中, 大多特性对于编译器来说没有任何特殊的意义...

2128
来自专栏恰同学骚年

ch01.深入理解C#委托及原理_《没有控件的ASPDONET》

设想,如果我们写了一个厨师做菜方法用来做菜,里面有 拿菜、切菜、配菜、炒菜 四个环节,但编写此方法代码的人想让 配菜 这个环节让调用方法的人实现,换句话说,就是...

723
来自专栏数据分析

char varchar nchar nvarcharar到底有多大区别

首先说明下,ASP.NET MVC系列还在龟速翻译中。 工作好多年,基础知识甚是薄弱,决定以后在coding(cv操作)的时候尽量多google下,然后总结下来...

2856
来自专栏Java学习网

10个常见的 Java 错误及避免方法之第二集(后续持续发布)

当程序缺少关闭大括号(“}”)时,Java代码中就会发生此错误消息。 有时我们可以通过在代码的末尾放置大括号来快速修复错误。

853

扫码关注云+社区