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 Ajax.ashx 高效分页实现代码
Oct 20 Javascript
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
Oct 26 Javascript
jQuery focus和blur事件的应用详解
Jan 26 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
Jun 13 Javascript
JSON与String互转的实现方法(Javascript)
Sep 27 Javascript
JavaScript实现瀑布流图片效果
Jun 30 Javascript
浅谈angular4 ng-content 中隐藏的内容
Aug 18 Javascript
微信小程序实现多个按钮的颜色状态转换
Feb 15 Javascript
基于Vue插入视频的2种方法小结
Apr 02 Javascript
Vue数字输入框组件的使用方法
Oct 19 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
Apr 11 Javascript
JavaScript与JQuery框架基础入门教程
Jul 15 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自动适应范围的分页代码
2008/08/05 PHP
php生成gif动画的方法
2015/11/05 PHP
php实现的顺序线性表示例
2019/05/04 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
jquery二级导航内容均分的原理及实现
2013/08/13 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
详解vue开发中调用微信jssdk的问题
2019/04/16 Javascript
JavaScript剩余操作符Rest Operator详解
2019/07/20 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
Python面向对象特殊成员
2017/04/24 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
教师校本培训方案
2014/02/26 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年统战工作总结
2014/12/09 职场文书
学校党员干部承诺书
2015/05/04 职场文书
红色革命电影观后感
2015/06/18 职场文书
听证会主持词
2015/07/03 职场文书
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL