var onload意味着它应该在加载页面时运行

时间:2010-07-29 20:26:11

标签: javascript

// test.js //

    var testObj = {};
    testObj.init = function(){
        console.log('google');
    }

var onload = testObj.init;

///这是什么意思,是不是意味着它在脚本加载时被执行或者什么,我无法理解它,因为它不会在谷歌Chrome插件下进入控制台......

6 个答案:

答案 0 :(得分:2)

把它想象给你的狗2个名字:

var spot = new Dog();
var comeHereSpot = function ()  { return spot; }    
var comeHereBoy = comeHereSpot;

无论您致电comeHereSpot还是comeHereBoy,同一只狗都会开始跑。

答案 1 :(得分:0)

这只是意味着您的变量onload现在指向

function(){
    console.log('google');
}

onload只是这里局部变量的名称。

答案 2 :(得分:0)

在您的代码中,onload只是局部变量的名称。 var关键字声明了局部变量。您将onload的值设置为testObj.init,这是一个将“g​​oogle”打印到控制台的功能。

要使其在页面加载时运行该功能,请将window.onload设置为该函数的值。

window.onload = testObj.init;

或者,更好的是,使用event handlers将“onload”事件附加到window对象。 (为了简化这一过程,请使用jQuery之类的JavaScript库,但我建议您首先了解它是如何工作的。)

答案 3 :(得分:0)

这意味着变量onload是对函数testObj.init的引用。 onload()将执行该功能并将'google'输出到控制台。

答案 4 :(得分:0)

不,这只表示您将其分配给名为onload的变量。

如果变量名称与onload对象的window属性发生冲突,则可能实际工作的代码范围。在这种情况下,不会创建变量,但会使用现有属性。您不应该依赖此行为,您应该始终将其指定为对象的属性:

window.onload = testObj.init;

答案 5 :(得分:-1)

没有记录任何内容,因为您只是将onload设置为指向仅获取函数代码的函数testObj.init的指针。要实际运行,您必须致电testObj.init()



更多关于onload ...

onload是HTML元素的属性,可以设置为运行javascript。例如:

<html>…
… <body onload="testObj.init()"> …
…</html>

这意味着当加载“body”元素时,运行函数testObj.init()


“onload”属性也可以通过javascript加载,如:

window.onload=myFunction();