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 相关文章推荐
js实现ASP分页函数 HTML分页函数
Sep 22 Javascript
xmlHTTP实例
Oct 24 Javascript
jQuery timers计时器简单应用说明
Oct 28 Javascript
一些主流JS框架中DOMReady事件的实现小结
Feb 12 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
May 11 Javascript
href下载文件根据id取url并下载
May 28 Javascript
js简单的点击返回顶部效果实现方法
Apr 10 Javascript
jquery uploadify隐藏上传进度的实现方法
Feb 06 Javascript
AngularJS实现的回到顶部指令功能实例
May 17 Javascript
浅谈react+es6+webpack的基础配置
Aug 09 Javascript
Vue-cli3项目配置Vue.config.js实战记录
Jul 29 Javascript
ES6基础之解构赋值(destructuring assignment)
Feb 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 调试工具Debug Tools
2011/04/30 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jsonp原理及使用
2013/10/28 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
Vue2.0如何发布项目实战
2017/07/27 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
tensorflow实现KNN识别MNIST
2018/03/12 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
Python continue语句实例用法
2020/02/06 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
年度考核自我鉴定
2013/11/09 职场文书
学校门卫管理制度
2014/01/30 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
派出所所长先进事迹
2014/05/19 职场文书
音乐学专业求职信
2014/07/22 职场文书
浅谈Web Storage API的使用
2021/06/23 Javascript
Python常遇到的错误和异常
2021/11/02 Python