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 相关文章推荐
非常不错的一个javascript 类
Nov 07 Javascript
动感效果的TAB选项卡jquery 插件
Jul 09 Javascript
document.getElementById介绍
Sep 13 Javascript
jquery制作属于自己的select自定义样式
Nov 23 Javascript
jquery获取复选框checkbox的值实现方法
May 30 Javascript
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
Angular2 组件间通过@Input @Output通讯示例
Aug 24 Javascript
vue.js做一个简单的编辑菜谱功能
May 08 Javascript
实例讲解JavaScript预编译流程
Jan 24 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
Jun 04 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
Jun 17 Javascript
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
php设计模式之单例模式代码
2016/06/11 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
python实现跨文件全局变量的方法
2014/07/07 Python
python处理按钮消息的实例详解
2017/07/11 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
Python实现登陆文件验证方法
2018/10/06 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
python批量解压zip文件的方法
2019/08/20 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
python import 上级目录的导入
2020/11/03 Python
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
UGG英国官方网站:UGG UK
2018/02/08 全球购物
365 Tickets英国:全球景点门票
2019/07/06 全球购物
学习雷锋精神心得体会范文
2014/03/12 职场文书
班训口号大全
2014/06/18 职场文书
责任书格式范文
2014/07/28 职场文书
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python
Promise面试题详解之控制并发
2021/05/14 面试题
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
使用 Apache 反向代理的设置技巧
2022/01/18 Servers
MySQL创建管理LIST分区
2022/04/13 MySQL
mysql sql常用语句大全
2022/06/21 MySQL