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的跨域调用文件
Nov 19 Javascript
验证控件与Button的OnClientClick事件详细解析
Dec 04 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
May 11 Javascript
javascript中AJAX用法实例分析
Jan 30 Javascript
javascript实现别踩白块儿小游戏程序
Nov 22 Javascript
详解jQuery中的deferred对象的使用(一)
May 27 Javascript
jquery插件bootstrapValidator数据验证详解
Nov 09 Javascript
JavaScript实现时间表动态效果
Jul 15 Javascript
p5.js入门教程之小球动画示例代码
Mar 15 Javascript
vue实现条件判断动态绑定样式的方法
Sep 29 Javascript
小程序数据通信方法大全(推荐)
Apr 15 Javascript
vue 解决form表单提交但不跳转页面的问题
Oct 30 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字符串word末字符实现大小写互换的方法
2014/11/10 PHP
PHP多线程类及用法实例
2014/12/03 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
微信小程序 欢迎界面开发的实例详解
2016/11/30 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
利用python实现命令行有道词典的方法示例
2017/01/31 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
生产主管岗位职责
2013/11/10 职场文书
秸秆管理实施方案
2014/03/15 职场文书
大四毕业生自荐书
2014/07/05 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
灵魂歌王观后感
2015/06/17 职场文书
运动会开幕式致辞
2015/07/29 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
python_tkinter事件类型详情
2022/03/20 Python