var vvv = "1";
function cc(){
var vv = "1";
function xx(){
}
alert(xx.__parent__);
alert(xx.__parent__ === cc.__parent__);
}
alert(cc.__parent__);
cc();
第一个弹出来的是window 这个好理解 cc是全局的 作用域在window下
但是第2个xx 还是winow, xx的作用域不是在cc里面了吗 为何window alert(xx.__parent__ === cc.__parent__);为 true
function cc(){
var vv = "1";
function xx(){
}
alert(xx.__parent__);
alert(xx.__parent__ === cc.__parent__);
}
alert(cc.__parent__);
cc();
第一个弹出来的是window 这个好理解 cc是全局的 作用域在window下
但是第2个xx 还是winow, xx的作用域不是在cc里面了吗 为何window alert(xx.__parent__ === cc.__parent__);为 true
}
var vvv = "1";
function cc(){
var vv = "1";
function xx(){
}
alert(this==window)
alert(xx.__parent__);
alert(xx.__parent__ === cc.__parent__);
}
alert(this==window)
alert(cc.__parent__);
cc();
this只是指向他的对象 与定义作用域无关吧
(function(){
alert(this===window) //true
function cc(){
var vv = "1";
function xx(){
alert(xx.__parent__ === cc.__parent__);
}
}
alert(cc.__parent__); //null
})();
ie下无法访问__parent__属性...........
全局和非全局 只是影响可见范围 和作用域应该没关系吧
个人理解
个人还第一次见到这种function套用法
顶下
Function.prototype.a="aa";
function xx(){}
alert(xx.a)
delete Function.prototype.a
alert(xx.a)另外 是__parent__属性 不是 parent属性
这个属性 很特殊(函数的[[scope]] 属性,不访问,在firefox下提供__parent__属性来访问) 它引用的是函数定义时的作用域链
这个与继承什么的无关 只与函数定义时候的作用域有关 ps:这个眼睛是卡卡西 或者说是带土的眼睛 不是鼬或者zz的
但你想表达的意思是说 firefox下 调用函数的__parent__属性 总是返回window or null
那为什么
var vvv = "1";
function cc(){
var vv = "1";
function xx(){
}
alert(xx.__parent__); //这里不是返回的 null了.........
alert(xx.__parent__ === cc.__parent__);
}
alert(cc.__parent__);
cc();