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相关

Shell脚本编程

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

2002
来自专栏互联网杂技

JS模块与命名空间的介绍

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

3526
来自专栏数据结构与算法

3185 队列练习 1

3185 队列练习 1 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给定一...

2896
来自专栏别先生

python的学习和使用

1120
来自专栏Python研发

Memcached·Redis缓存的基本操作

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

1394
来自专栏Felix的技术分享

JVM的简单实现

1567
来自专栏java学习

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

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

36011
来自专栏coding

redis列表list类型详解

3642
来自专栏Java 源码分析

Java 虚拟机运行时数据区

运行时数据区: Java 虚拟机的运行时数据区按照大的可以分为线程独立使用的数据区,和所有线程共享的数据区。 一.线程独立使用数据区 1.程序计数器 程序计数器...

2605
来自专栏移动开发的那些事儿

JVM的类加载机制

其中,加载,验证,准备,初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序开始,而类的解析不一定,类的解析可能在初始化阶段之后再开始,这是为了支...

3743

扫码关注云+社区