标签:new logs 函数 自己的 传递 闭包 上下 getname return
/*作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突
* 除全局作用域之外,每个函数都会创建自己的作用域
* 作用域在函数定义时就已经确定了。而不是在函数调用时确定
* 如果要查找一个作用域下的某个变量值,就需要找到这个作用域对应的执行上下文环境,再从其中
* 找到变量的值
*
* 要到创建这个函数的那个作用域中取值--是创建而不是调用
*
* 闭包:两种情况:函数作为返回值,函数作为参数传递
* 当一个函数被调用后,其执行上下文环境将被销毁,其中的变量也会被同时销毁
* 有些情况 当一个函数被调用后,其执行上下文环境不会被接着销毁,这就是理解闭包的核心内容
* */
function name(){
var max=10;
return function(x){
this.getname=function(){
return max
}
this.setname=function(name){
max=name
}
}
}
window.$=name();
(new $()).setname(1000)
console.log((new $()).getname())
标签:new logs 函数 自己的 传递 闭包 上下 getname return
原文地址:http://www.cnblogs.com/liuhao-web/p/7154836.html