2015.12.17 HTML5真题练习

HTML5学堂:每天一道题,强壮程序员!今日主要涉及12.16日关于函数返回值的题目解答,以及一道涉及闭包的题目。

HTML5真题【2015.12.16】答案解析

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

<script>
(function f(f){
    return typeof f();
})(function(){ return 1; });
</script>

本题目的答案是:返回的内容为 —— "number"。

首先我们定义了一个函数,然后立即运行了这个功能函数。还记得匿名函数的执行方法吗?——> "(function(){})();",此处我们也是通过同样的方法,让上面的那个函数立即执行。之后我们向这个函数中传入了一个参数,在f这个功能函数当中,有一个名为f的参数,但是这个f和函数的f不是同一个意思,换句话说,可以换为如下的代码:

<script>
(function f(f2){
    return typeof f2();
})(function(){ return 1; });
</script>

看如上的代码,应该就比最初的代码简单一些了,f这个函数运行的结果是f2函数运行结果的数据类型(typeof)。f2这个函数其实就是我们最初传入的那个函数——("function(){return: 1;}")运行的结果是1,typeof 1,自然就是"number"了。

HTML5真题【2015.12.17】题目

<script>
var fn = function(i){
    return function(){
        return i++;
    }
}(10);
var a = fn();
var b = fn();
console.log(a);
console.log(b);
</script>

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

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java编程技术

并发队列-无界非阻塞队列ConcurrentLinkedQueue原理探究

常用的并发队列有阻塞队列和非阻塞队列,前者使用锁实现,后者则使用CAS非阻塞算法实现,使用非阻塞队列一般性能比较好,下面就看看常用的非阻塞ConcurrentL...

1411
来自专栏Golang语言社区

Web开发须知:URL编码与解码

通常如果一样东西需要编码,说明这样东西并不适合传输。原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起...

4383
来自专栏Python研发

Memcached·Redis缓存的基本操作

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、...

1644
来自专栏转载gongluck的CSDN博客

Lua学习笔记

--Lua笔记-- --0.Lua开篇-- --http://www.cnblogs.com/stephen-liu74/archive/2012/06/11/...

6156
来自专栏java相关

Shell脚本编程

linux中的变量分为环境变量和普通变量,其中环境变量可以理解为全局变量,在所有shell的子程序中都可以引用,普通变量只能在自己的shell程序中使用,程序结...

2292
来自专栏IT技术精选文摘

阿里架构师带你深入浅出jvm

2562
来自专栏Python小屋

详解Python变量作用域

本文暂时不讨论类定义中的变量(成员)作用域,改天可能会单独成文介绍。 变量作用域总起来说可以这么理解:1)在函数内如果只引用某个变量的值而没有为其赋新值,该变量...

4958
来自专栏java学习

Java每日一练(2017/7/7)

1 (单选题)有以下程序片段,下列哪个选项不能插入到行 1 。()。 1. 2.public class A{ 3.//do sth 4. } A publ...

38011
来自专栏coding

redis列表list类型详解

5962
来自专栏互联网杂技

JS模块与命名空间的介绍

起因 将代码组织到类中的一个重要原因是让代码更加“模块化”,可以在很多不同的场景中实现代码的重用。但类不是唯一的模块化代码的方式。 一般来讲,模块是一个独立的J...

3826

扫码关注云+社区

领取腾讯云代金券