2015.12.23 HTML5真题练习

HTML5学堂:每天一道题,强壮程序员!今日主要涉及12.22日关于作用域、预编译执行知识的题目解答,以及一道涉及逗号运算符和for循环的题目。

HTML5真题【2015.12.22】答案解析

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

<script>
    (function(){
        var user = author = 'HTML5学堂';
    })();
    console.log(user);
    console.log(author);
</script>

该题目的结果是:undefined 'HTML5学堂'。

这道题其实考核的是空间创建的问题,首先(function(){})是一个匿名函数。函数会创建一个局部作用域,局部作用域的内容在全局中是不能访问到的。var user = author = 'HTML5学堂';这句代码,表示的是连续赋值,但是注意此处只有user这个变量是通过var声明的,换句话说,只有user这个变量的空间被创建在了匿名函数当中,而author会在运行到该行代码时再执行空间的创建,当运行到author='HTML5学堂'时,会在匿名函数当中寻找空间,但是此时没有空间,就需要向其父级寻找,window下也没有空间,此时在window下创建空间,之后并将'HTML5学堂'这个字符串放置到这个空间当中。因此在全局中寻找author,自然就可以找到了。

相关知识:JavaScript 运行机制之执行顺序详解

HTML5真题【2015.12.23】题目

<script>
    var sum = 0;
    for (var i = 0, j = 0; i < 3, j < 5; i++, j++) {
        sum += 1;
    };
    console.log(sum);
</script>

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

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

原文发表时间:2016-01-05

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数说戏聊

04.字段抽取/拆分&记录抽取1.字段抽取2.字段拆分3.记录抽取

962
来自专栏菜鸟致敬

记一次两小时的js编程学习

1.弱类型语言 2.解释型语言 3.客户端语言 对于有学习Java、C以及Python一类的人来说,最熟悉的莫过于这些都是强类型语言。它们严格的遵守自身的规定,...

892
来自专栏web前端教室

undefined 和 void 0 区别?

image.png 这二个东西都是各有各的用处,一般if判断的时候,我用undefined的时候多些;a标签的时候用 void 0 的时候多些。还有的时候,...

2105
来自专栏醒者呆

掌握一门语言Go

摘要:Go语言的优势不必多说,通过本篇文章,让我们花时间来掌握一门外语,Let's Go! 关键字:Go语言,闭包,基本语法,函数与方法,指针,slic...

4359
来自专栏编程微刊

sea.js五分钟上手

1406
来自专栏SDNLAB

【一课专栏】解构1 - 起底QName

QName是Qualified Name的缩写,中文翻译为限定名,可理解为full name。QName来源于XML, 由XML的名字空间和 XML元素名称组成...

6123
来自专栏GreenLeaves

Vue.js系列之四计算属性和观察者

一、计算属性 1、模版内的表达式非常便利,但是设计它们的初衷是用于简单计算的。在模版中放入太多的逻辑运算会让模版过重且难以维护,例如如下代码: <div id=...

2436
来自专栏影子

jQuery中的常用内容总结(三)

转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7571998.html

1051
来自专栏前端真相

前端编码规范

2596
来自专栏difcareer的技术笔记

JNI实现源码分析【四 函数调用】正文0x01:dvmCallMethodV0x02:nativeFunc0x03: 何时赋值

有了前面的铺垫,终于可以说说虚拟机是如何调用JNI方法的了。JNI方法,对应Java中的native方法,所以我们跟踪对Native方法的处理即可。

1014

扫码关注云+社区

领取腾讯云代金券