5个可以帮你理解JavaScript核心闭包和作用域的小例子

 更新时间:2014年10月08日 09:50:32   投稿:junjie  
这篇文章主要介绍了5个可以帮你理解JavaScript核心闭包和作用域的小例子,本文是翻译自国外的一篇文章,短小精悍,需要的朋友可以参考下

这里有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]

相关文章

  • JS简单生成随机数(随机密码)的方法

    JS简单生成随机数(随机密码)的方法

    这篇文章主要介绍了JS简单生成随机数(随机密码)的方法,简单分析了javascript随机数相关函数并结合具体实例形式分析了随机数的相关生成技巧,需要的朋友可以参考下
    2017-05-05
  • JS获取键盘上任意按键的值(实例代码)

    JS获取键盘上任意按键的值(实例代码)

    JS获取键盘上任意按键值的实例代码。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • js或css实现滚动广告的几种方案

    js或css实现滚动广告的几种方案

    今天无事逛网,突然发现了一个很有趣的事情,(也许只有我觉得有趣).我看到一图片竟然在我拖动滚动条的时候没有动,也许你会说我少见多怪,不信你去找个这样的我看看,很少有的,一般的都是一拖动图片就在那跳得厉害。
    2010-01-01
  • 前端对话框项目之调用字节Coze API全过程

    前端对话框项目之调用字节Coze API全过程

    coze是字节跳动旗下的零代码大模型Agent定制平台,下面这篇文章主要介绍了前端对话框项目之调用字节Coze API的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • JavaScript中定时器setTimeout()和setInterval()的用法

    JavaScript中定时器setTimeout()和setInterval()的用法

    本文详细讲解了JavaScript中定时器setTimeout()和setInterval()的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 前端图片懒加载(lazyload)的实现方法(提高用户体验)

    前端图片懒加载(lazyload)的实现方法(提高用户体验)

    图片懒加载又称图片延时加载、惰性加载,即在用户需要使用图片的时候加载,这样可以减少请求,节省带宽,提高页面加载速度,相对的,也能减少服务器压力,下面通过本文给大家分享图片懒加载lazyload的实现方法,感兴趣的朋友一起看看吧
    2017-08-08
  • javascript中alert()与console.log()的区别

    javascript中alert()与console.log()的区别

    我们在做js调试的时候使用 alert 可以显示信息,调试程序,alert 弹出窗口会中断程序, 如果要在循环中显示信息,手点击关闭窗口都累死。而且 alert 显示对象永远显示为[object ]。 自己写的 log 虽然可以显示一些 object 信息,但很多功能支持都没有 console 好
    2015-08-08
  • js结合css实现登录后才能复制的效果实例

    js结合css实现登录后才能复制的效果实例

    很多网站都有登录后才能复制的限制,什么原理呢?css属性user-select:none,通常会采用这种方式来禁止复制文本。但浏览开发者工具-审查元素,取消此样式后,就可以选中文本了。想要完整地禁止复制,还需要通过js控制选择的内容。
    2023-07-07
  • JavaScript数组函数unshift、shift、pop、push使用实例

    JavaScript数组函数unshift、shift、pop、push使用实例

    这篇文章主要介绍了JavaScript数组函数unshift、shift、pop、push使用实例,本文先是讲解了声明数组的方法,然后对4个函数使用给出了一些例子,需要的朋友可以参考下
    2014-08-08
  • js实现按座位号抽奖

    js实现按座位号抽奖

    本文主要介绍了js实现按座位号抽奖的示例代码。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04

最新评论