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 png 透明解决方案(推荐)
Aug 21 Javascript
AJAX分页的代码(后台asp.net)
Feb 14 Javascript
如何确保JavaScript的执行顺序 之jQuery.html深度分析
Mar 03 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
Jan 10 Javascript
jQuery处理xml格式的返回数据(实例解析)
Nov 28 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
Nov 28 Javascript
Js实现无刷新删除内容
Apr 29 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
Nov 23 Javascript
DWR3 访问WEB元素的两种方法实例详解
Jan 03 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
Nov 10 Javascript
Vue实现base64编码图片间的切换功能
Dec 04 Javascript
原生js实现五子棋游戏
May 28 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笔记之:文章中图片处理的使用
2013/04/26 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
jQuery简单绑定单个事件的方法示例
2017/06/10 jQuery
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
Python爬虫文件下载图文教程
2018/12/23 Python
Python3实现二叉树的最大深度
2019/09/30 Python
Python如何使用字符打印照片
2020/01/03 Python
印度低票价航空公司:GoAir
2017/10/11 全球购物
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
送给程序员的20个Java集合面试问题
2014/08/06 面试题
会计学个人自荐信模板
2013/12/13 职场文书
关于母亲节的感言
2014/02/04 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
安全责任书范文
2014/03/12 职场文书
环境卫生倡议书
2014/08/29 职场文书
人口与计划生育责任书
2015/05/09 职场文书
企业党建工作总结2015
2015/05/26 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
Python数据类型最全知识总结
2021/05/31 Python
python之django路由和视图案例教程
2021/07/26 Python
Java设计模式中的命令模式
2022/04/28 Java/Android