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 相关文章推荐
iis6+javascript Add an Extension File
Jun 13 Javascript
JavaScript中null与undefined分析
Jul 25 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
Feb 19 Javascript
Ajax搜索结果页面下方的分页按钮的生成
Apr 05 Javascript
JS中多种方式创建对象详解
Mar 22 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
May 17 Javascript
再谈javascript注入 黑客必备!
Sep 14 Javascript
AngularJS表单提交实例详解
Feb 18 Javascript
详解Vue 事件修饰符capture 的使用
Dec 29 Javascript
vue使用自定义icon图标的方法
May 14 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 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
基于mysql的论坛(5)
2006/10/09 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
js验证表单第二部分
2006/11/25 Javascript
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
vue文件运行的方法教学
2019/02/12 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
python+mysql实现简单的web程序
2014/09/11 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
分享python数据统计的一些小技巧
2016/07/21 Python
Python实现注册登录系统
2017/08/08 Python
python入门前的第一课 python怎样入门
2018/03/06 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
2014年收银工作总结
2014/11/13 职场文书
病假条格式范文
2015/08/17 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
让文件路径提取变得更简单的Python Path库
2021/05/27 Python