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]
相关文章
JavaScript中定时器setTimeout()和setInterval()的用法
本文详细讲解了JavaScript中定时器setTimeout()和setInterval()的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-06-06
前端图片懒加载(lazyload)的实现方法(提高用户体验)
图片懒加载又称图片延时加载、惰性加载,即在用户需要使用图片的时候加载,这样可以减少请求,节省带宽,提高页面加载速度,相对的,也能减少服务器压力,下面通过本文给大家分享图片懒加载lazyload的实现方法,感兴趣的朋友一起看看吧2017-08-08
javascript中alert()与console.log()的区别
我们在做js调试的时候使用 alert 可以显示信息,调试程序,alert 弹出窗口会中断程序, 如果要在循环中显示信息,手点击关闭窗口都累死。而且 alert 显示对象永远显示为[object ]。 自己写的 log 虽然可以显示一些 object 信息,但很多功能支持都没有 console 好2015-08-08
JavaScript数组函数unshift、shift、pop、push使用实例
这篇文章主要介绍了JavaScript数组函数unshift、shift、pop、push使用实例,本文先是讲解了声明数组的方法,然后对4个函数使用给出了一些例子,需要的朋友可以参考下2014-08-08


最新评论