2015-07-14 4 views
0
var test = function(msg) { 
    alert(msg) 
}; 

(new test("hi")).run(); 
(new test("hello")).run(); 

Когда я запускаю над кодом javascript, я могу получить предупреждение «привет». Но предупреждение «привет» не подходит.Функция Javascript run()

  1. Любой может объяснить, что выше, я совершенно новичок в этом. Только я знаю, что «тест» является функцией
  2. Что запускается() метод делает ?, потому что, когда я извлекал работать в приведенном выше коде, я могу видеть, как предупреждения, пожалуйста, помогите ...

    var test = function(msg) { 
        alert(msg) 
    }; 
    
    (new test("hi")); 
    (new test("hello")); 
    
+0

Просто попробуйте "test ('some message');" –

+0

Даже то, что работает ... Тогда что такое «бег» и «новый»? Есть идеи? –

+1

нет 'run', проверьте вашу консоль, у вас есть ошибки – atmd

ответ

9

Простой, нет run функции, когда код выполняется (new test("hi")).run() он запускает (new test("hi")) части первым, а затем ошибки на run поэтому вторая строка никогда не будет выполнена.

Если вы хотите, чтобы вызвать функцию, назовем его:

test("hi"); 

Не запускать функции (которые не являются конструкторами) как конструкторах. Вот what new does.

+0

Вернее,« запускать только функции, предназначенные для конструкторов в качестве конструкторов ». :) – Amadan

+1

И это объясняет, почему он не переходит к следующей строке :) –

+0

Downvoter, позаботьтесь, чтобы объяснить почему? –

3

"run" не является определенной функцией. Даже если вы замените «run» на «xyz» || «abc» или любое другое имя случайной функции, которое не определено, приведенный выше код будет работать одинаково.

var test = function(msg) { 
    alert(msg) 
}; 

/** test("hi") getting called, then xyz() throws a javascript error **/ 
(new test("hi")).xyz(); 

/** No Execution as there was an error on previous line **/ 
(new test("hello")).xyz(); 

Его просто, что изначально функция «тест» вызывается один раз, и когда он встречает .run(), который не определен, он выдает сообщение об ошибке и выполнение останавливается.

+0

Большое спасибо механикам, это тоже помогло мне ... –

Смежные вопросы