5个可以帮你理解JavaScript核心闭包和作用域的小例子


Posted in Javascript onOctober 08, 2014

这里有5个小脚本,有助于你真正理解JavaScript核心?闭包和作用域。没有在控制台运行之前,尝试回答每个案例中会弹出什么内容,然后你可以创建一个测试文件去核对你的答案。你准备好了吗?

1、

 if (!("a" in window)) {

     var a = 1;

 }

 alert(a);

2、
 var a = 1,

     b = function a(x) {

         x && a(--x);

     };

 alert(a);

3、
 function a(x) {

     return x * 2;

 }

 var a;

 alert(a);

4、
 function b(x, y, a) {

     arguments[2] = 10;

     alert(a);

 }

 b(1, 2, 3);

5、
 function a() {

     alert(this);

 }

 a.call(null);

我的预测答案分别是:undefined、1、不知道、10、null

答案在本文末尾,看答案之前,你敢留下你的猜测吗?

 

 

 

正确答案:1、undefined   2、1   3、function a(x){ return x * 2}   4、10  5、[object window]

Javascript 相关文章推荐
对YUI扩展的Gird组件 Part-2
Mar 10 Javascript
页面图片浮动左右滑动效果的简单实现案例
Feb 10 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
Mar 22 Javascript
jquery实现搜索框常见效果的方法
Jan 22 Javascript
浅谈javascript中的加减时间
Jul 12 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
Sep 16 Javascript
JS对大量数据进行多重过滤的方法
Nov 04 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
Mar 22 Javascript
详解微信小程序之一键复制到剪切板
Apr 24 Javascript
js常见遍历操作小结
Jun 06 Javascript
vue实现抖音时间转盘
Sep 08 Javascript
Vue实现图片轮播组件思路及实例解析
May 11 Javascript
JavaScript中获取样式的原生方法小结
Oct 08 #Javascript
吐槽一下我所了解的Node.js
Oct 08 #Javascript
Node.js 的异步 IO 性能探讨
Oct 08 #Javascript
JS中的form.submit()不能提交表单的错误原因
Oct 08 #Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 #Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 #Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 #Javascript
You might like
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
PHP分页函数代码(简单实用型)
2010/12/02 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
php头像上传预览实例代码
2017/05/02 PHP
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
深入理解JavaScript编程中的原型概念
2015/06/25 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
vue通过过滤器实现数据格式化
2020/07/20 Javascript
Python Tkinter简单布局实例教程
2014/09/03 Python
python中__call__内置函数用法实例
2015/06/04 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
深入理解Python对Json的解析
2017/02/14 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
Python创建或生成列表的操作方法
2019/06/19 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
python绘制多个子图的实例
2019/07/07 Python
Tensorflow 多线程设置方式
2020/02/06 Python
Python3的socket使用方法详解
2020/02/18 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
QML用PathView实现轮播图
2020/06/03 Python
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
大学生咖啡店创业计划书
2014/01/21 职场文书
结婚保证书范文
2014/04/29 职场文书
2014年师德承诺书
2014/05/23 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
升职自荐信怎么写
2015/03/05 职场文书