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跨域问题之跨域iframe自适应大小实现代码
Jul 17 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
Oct 29 Javascript
javascript中callee与caller的用法和应用场景
Dec 08 Javascript
JavaScript 动态加载脚本和样式的方法
Apr 13 Javascript
extjs简介_动力节点Java学院整理
Jul 17 Javascript
ES6中新增的Object.assign()方法详解
Sep 22 Javascript
Vue使用NPM方式搭建项目
Oct 25 Javascript
ZK中使用JS读取客户端txt文件内容问题
Nov 07 Javascript
javascript自定义右键菜单插件
Dec 16 Javascript
es6函数中的作用域实例分析
Apr 18 Javascript
ES6对象操作实例详解
May 23 Javascript
Vue中key的作用示例代码详解
Jun 10 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 fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
php图像处理类实例
2015/07/28 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
2019/06/26 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
vue实现购物车加减
2020/05/30 Javascript
python 中文乱码问题深入分析
2011/03/13 Python
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
flask 实现token机制的示例代码
2019/11/07 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
学校后勤岗位职责
2014/02/19 职场文书
英文推荐信格式范文
2014/05/09 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
社保委托书怎么写
2014/08/02 职场文书
公司管理建议书
2015/09/14 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python