窗口函数中的一个变量.未正确设置Onload
a variable in the function on window.onload is not set properly
当我像下面这样编码时,变量'name'没有初始值"test"。当我不使用"window.onload"时,它工作得很好。
与"window. js"之间的javascript变量有什么区别吗?"Onload"和不加载
<!DOCTYPE html>
<html>
<head>
<title>HTML5, CSS3 and JavaScript demo</title>
</head>
<body>
<!-- Start your code here -->
<script>
window.onload=function(){
var name = "test";
function foo(msg,msg2) {
console.log(msg + ' ' + msg2);
alert(this.name);
}
foo('normal call','default');
var obj = {
name : 'steve'
}
foo.call(obj,'call function','object');
foo.apply(obj,['apply function','object']);
}
</script>
<!-- End your code here -->
</body>
</html>
当我不使用"window.onload"时,它工作得很好。
这是因为当你不把代码放在一个函数中,你在全局范围内声明name
,使它成为一个全局变量,所以你可以访问它作为全局对象的属性。在松散模式下,当您像第一个示例那样直接调用foo
时,foo
中的this
将引用全局对象。所以在函数外,它可以工作,因为name
是全局的。
在内部,它只是一个普通的变量,变量和你可以在代码中获得引用的任何对象之间没有联系。
相关文章:
- JavaScript-如何将onload函数内部定义的变量取到外部
- 如何在 jQuery 中的 img.onload = function() 中返回一个变量
- 从 onload 方法返回值并分配给变量
- 如何在Angular ng-include中传递多个变量进行onload
- 从reader.onload事件返回变量
- EJS访问JS onload函数中的express变量
- 窗口函数中的一个变量.未正确设置Onload
- Onload:如果数据库中存在UserID,则将javascript变量设置为true
- 从jQuery的onload承诺中传递变量
- php通过onLoad传递变量
- 从XMLHttpRequest onload回调访问全局变量
- 在onload()函数调用中将会话变量作为参数传递
- 将PHP变量传递给onLoad (JS)
- Javascript变量作用域在onload函数内
- 在for循环中向onload函数传递变量
- 无法在onload属性中声明变量
- 需要将一个变量从PHP头()重定向传递到OnLoad()
- 将多个变量.onload设置为相同的值
- JavaScript 保存这个.image.onLoad 内部的变量
- 变量在使用window.onload时丢失