// test.js //

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

var onload = testObj.init;

/// что это значит, означает ли это, что он запускается при загрузке скрипта, или что, я просто не могу понять это, поскольку он не загружается в консоль ничего под плагином Google Chrome ...

1
simple 30 Июл 2010 в 00:26

5 ответов

Лучший ответ

Думайте об этом как о присвоении вашей собаке 2 имен:

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

Назовите ли вы comeHereSpot или comeHereBoy одна и та же собака прибежит.

2
ChaosPandion 29 Июл 2010 в 20:44

Это просто означает, что ваша переменная onload теперь указывает на

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

Onload - это просто имя локальной переменной.

0
Hugo Migneron 29 Июл 2010 в 20:28

Это означает, что переменная onload является ссылкой на функцию testObj.init. onload() выполнит функцию и выведет «google» на консоль.

0
Andreas Köberle 29 Июл 2010 в 20:31

Нет, это только означает, что вы назначаете его переменной с именем onload.

В зависимости от области действия кода он может действительно работать, если имя переменной сталкивается со свойством onload объекта window. В этом случае переменная не будет создана, но вместо этого будет использоваться существующее свойство. Вы не должны полагаться на это поведение, вы всегда должны указывать его как свойство объекта:

window.onload = testObj.init;
0
Guffa 29 Июл 2010 в 20:32

В вашем коде onload это просто имя локальной переменной. Ключевое слово var объявляет локальные переменные. Вы устанавливаете значение onload равным testObj.init, и эта функция выводит «google» на консоль.

Чтобы запустить функцию при загрузке страницы, установите window.onload в значение функции.

window.onload = testObj.init;

Или, что еще лучше, используйте обработчики событий, чтобы прикрепить событие «onload» к { {X0}} объект. (Чтобы сделать это проще, используйте библиотеку JavaScript, такую как jQuery, но я рекомендую сначала узнать, как все это работает. )

0
Sasha Chedygov 29 Июл 2010 в 20:37