2.6 KiB
2.6 KiB
闭包
-
什么是闭包
-
简述闭包的作用
-
下面代码的执行结果是什么 为什么
function fn1() { var name = 'iceman'; function fn2() { console.log(name); } fn2(); } fn1();
-
下面代码的执行结果是什么 为什么
function fn1() { var name = 'iceman'; function fn2() { console.log(name); } return fn2; } var fn3 = fn1(); fn3();
-
下面代码的执行结果是什么 为什么
function fn1() { var name = 'iceman'; function fn2() { console.log(name); } fn3(fn2); } function fn3(fn) { fn(); } fn1();
-
下面代码的执行结果是什么 为什么
function waitSomeTime(msg, time) { setTimeout(function () { console.log(msg) }, time); } waitSomeTime('hello', 1000);
-
下面代码的执行结果是什么 为什么
for (var i = 1; i <= 10; i++) { setTimeout(function () { console.log(i); }, 1000); }
-
怎么才能在第7题中输出 1-10
-
下面代码的执行结果是什么 为什么
function module() {
var arr = [];
function add(val) {
if (typeof val == 'number') {
arr.push(val);
}
}
function get(index) {
if (index < arr.length) {
return arr[index]
} else {
return null;
}
}
return {
add: add,
get: get
}
}
var mod1 = module();
mod1.add(1);
mod1.add(2);
mod1.add('xxx');
console.log(mod1.get(2));
- 下面代码的执行结果是什么 为什么
var a = 10
function foo(){
console.log(a)
}
function sum() {
var a = 20
foo()
}
sum()
- 下面代码的执行结果是什么 为什么
var n = 10
function fn(){
var n =20
function f() {
n++;
console.log(n)
}
f()
return f
}
var x = fn()
x()
x()
console.log(n)
- 简述闭包形成的原因
- 下面代码的执行结果是什么 为什么
var a = 0
function foo(){
var b =14
function fo(){
console.log(a, b)
}
fo()
}
foo()
- 下面代码的执行结果是什么 为什么
var n = 10
function fn(){
var n =20
function f() {
n++;
console.log(n)
}
return f
}
var x = fn()
x()
- 下面代码的执行结果是什么 为什么
var a = '林一一'
function foo(){
var a = 'foo'
function fo(){
console.log(a)
}
return fo
}
function f(p){
var a = 'f'
p()
}
f(foo())