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 条评论
登录 后参与评论

相关文章

来自专栏liulun

Nim编码风格

介绍 Nim语言不限制开发人员使用哪种具体的编码风格, 但为了社区的发展,在编写一些标准库的时候还是应该遵从统一的编码风格 这篇文章会列出一系列的编码风格准则,...

1998
来自专栏青玉伏案

窥探Swift之别具一格的Struct和Class

  说到结构体和类,还是那句话,只要是接触过编程的小伙伴们对这两者并不陌生。但在Swift中的Struct和Class也有着令人眼前一亮的特性。Struct的功...

1897
来自专栏王磊的博客

把字符串转化为类型

问题:可以得到类型的String格式的名称,想要转化为相应的类型? ps:今天定义了好多个枚举类型,把枚举名称存放在一个ComboBox类名,控件值改变的时候要...

2525
来自专栏全沾开发(huā)

如何在ES5与ES6环境下处理函数默认参数

1284
来自专栏C语言C++游戏编程

C语言的这个小知识点,竟然连开发多年的老司机都了解的不完全

说明:这是学C语言最基本的知识点,简单的使用不难, 但是里面的一些细节和原理就值得我们好好推敲了,想要学好C语言或者编程语言的小伙伴,真的可以好好看看哦~

631
来自专栏达摩兵的技术空间

前端面试题分享001

解释 :要注意的是函数中的this与运行环境强相关,与定义环境不相关。所以下面的代码段中,当直接通过对象属性方法中去调用时,其都可以访问到对象的属性,但是当其变...

734
来自专栏cs

c#知识点1.0数据类型

以前就说,要开始写c#的博客,最近把linux大约写完了,现在开始c#了,java的博客简书一大堆,我就避免撞车吧,其实我是菜鸟(嘻嘻,写不出更好的了) 数据...

3727
来自专栏每日一篇技术文章

Swift3.0 - 枚举

622
来自专栏JetpropelledSnake

Python学习笔记之容器(Collections)

891
来自专栏iOS122-移动混合开发研究院

【读书笔记】A Swift Tour

素材:A Swift Tour 推荐下载Playground:Download Playground objc 自己较为熟悉,想熟悉下风头正劲的 swift。就...

3468

扫码关注云+社区