5个可以帮你理解JavaScript核心闭包和作用域的小例子
作者:bea
这里有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
这里有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]
有用 | 无用
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设计模式之策略模式实例
- JavaScript运行机制之事件循环(Event Loop)详解
- Javascript 读取操作Sql中的Xml字段
- Javascript验证用户输入URL地址是否为空及格式是否正确
- 使用js Math.random()函数生成n到m间的随机数字
- 分享一款基于jQuery的视频播放插件
- 使用jQuery.wechat构建微信WEB应用
- 使用jQuery将多条数据插入模态框的实现代码
- get(0).tagName获得作用标签示例代码
- 一个css与js结合的下拉菜单支持主流浏览器
- Javascript获取当前日期的农历日期代码
- javascript中通过arguments参数伪装方法重载
- 利用原生JavaScript获取元素样式只是获取而已
- javascript学习笔记(八)正则表达式
- javascript学习笔记(七)Ajax和Http状态码
- javascript学习笔记(六)数据类型和JSON格式
- javascript学习笔记(五)原型和原型链详解
- JavaScript中获取高度和宽度函数总结