从iframe(Javascript)访问父函数中的变量
我的主页上有如下javascript:它只定义了一个变量从iframe(Javascript)访问父函数中的变量,javascript,function,variables,iframe,parent,Javascript,Function,Variables,Iframe,Parent,我的主页上有如下javascript:它只定义了一个变量 test1 = function(){ var bla= "bla"; } 在我的iFrame中,我有另一个javascript,它只生成如下所示的警报 alert(parent.test1.bl); 不幸的是,警报窗口出现,但内容显示“未定义”。如何从父窗口中的函数中读取变量 有趣的是,如果我在父窗口执行警报,并且只从iFrame中调用函数,警报框就会弹出,消息也会包含在内。但似乎无法从父级读取变量。函数没有属性,对象有属性。因此,
test1 = function(){
var bla= "bla";
}
在我的iFrame中,我有另一个javascript,它只生成如下所示的警报
alert(parent.test1.bl);
不幸的是,警报窗口出现,但内容显示“未定义”。如何从父窗口中的函数中读取变量
有趣的是,如果我在父窗口执行警报,并且只从iFrame中调用函数,警报框就会弹出,消息也会包含在内。但似乎无法从父级读取变量。函数没有属性,对象有属性。因此,在尝试使用其属性之前,必须实例化
test1()
test1 = function(){
var bla= "bla";
this.bl ="notbla";
}
alert(new test1().bl);
注意这里使用的关键字this
,它引用了新创建的对象,使bl
成为一个属性,可以在函数之外读取<在test1()
之外无法看到用var
声明的code>bla
,除非您不创建另一个类似this.bl=bla的属性代码>
您的问题的“有趣部分”确实不清楚,您的alert()
肯定会显示undefined
,无论在哪里调用它
在MDN中,函数没有属性,对象有属性。因此,在尝试使用其属性之前,必须实例化test1()
test1 = function(){
var bla= "bla";
this.bl ="notbla";
}
alert(new test1().bl);
注意这里使用的关键字this
,它引用了新创建的对象,使bl
成为一个属性,可以在函数之外读取<在test1()
之外无法看到用var
声明的code>bla
,除非您不创建另一个类似this.bl=bla的属性代码>
您的问题的“有趣部分”确实不清楚,您的alert()
肯定会显示undefined
,无论在哪里调用它
在MDN.我想你是说parent.window.variable
?你问题的最后一部分不清楚。以下是警报的作用:我想你的意思是parent.window.variable
?问题的最后一部分不清楚。以下是警报的作用:嗨,蒂姆,工作起来很有魅力!!:)嗨,蒂姆,工作起来很有魅力!!:)