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 相关文章推荐
JQuery中阻止事件冒泡几种方式及其区别介绍
Jan 15 Javascript
详解JavaScript中setSeconds()方法的使用
Jun 11 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
Aug 24 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
AngularJS ng-change 指令的详解及简单实例
Jul 30 Javascript
js实现弹窗居中的简单实例
Oct 09 Javascript
浅谈Node.js:fs文件系统模块
Dec 08 Javascript
bootstrap响应式工具使用详解
Nov 29 Javascript
Angular2+如何去除url中的#号详解
Dec 20 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
Jan 16 Javascript
javascript 设计模式之享元模式原理与应用详解
Apr 08 Javascript
vue实现打地鼠小游戏
Aug 21 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
php标签云的实现代码
2012/10/10 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
javascript 学习之旅 (3)
2009/02/05 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
javascript中UMD规范的代码推演
2018/08/29 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
从零学Python之入门(四)运算
2014/05/27 Python
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
python实现登录与注册系统
2020/11/30 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
工程监理应届生求职信
2013/11/09 职场文书
大学军训感言400字
2014/03/11 职场文书
房地产广告词大全
2014/03/19 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
庆祝新中国成立65周年“向国旗敬礼”网上签名寄语
2014/09/27 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
Python中for后接else的语法使用
2021/05/18 Python
Python中else的三种使用场景
2021/06/16 Python
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS