В мире JavaScript есть много способов определения функций, что является отражением гибкости JavaScript, но именно эта причина путает начинающих, особенно для студентов, у которых нет языкового фонда. Как говорится, все дороги ведут в Рим, но если слишком много дорог, это сделает путешественника в утрате, потому что он не знает, на какую дорогу - правильный путь. Ха -ха, я говорю о глупости, и я буду говорить меньше, сначала прочитана код:
Кода -копия выглядит следующим образом:
/*Первый метод использует оператор функции, формат выглядит следующим образом*/
функция fn () {
Alert («Это оператор функции для определения функции»);
}
fn ();
/*Второй метод, используйте конструктор function (), чтобы клонировать функцию*/
var f = новая функция ("a", "b", "alert (a+b)");
F (a, b);
На самом деле, это эквивалентно следующему коду:
функция f (a, b) {
блюд (A+B);
}
/*Третий метод состоит в том, чтобы использовать функцию, чтобы напрямую считать*/
var zhenn = function () {
оповещение ("Чжэнь");
}
Zhenn ();
Среди них методы использования «операторов функций» и использования «прямого количества функции» для определения функций кажутся более распространенными и простыми для понимания, поэтому я не буду много говорить об этом здесь. Как правило, он редко используется для клонирования функций с использованием конструктора function (), потому что функция обычно состоит из нескольких операторов. Если они передаются как строку в качестве параметра, это неизбежно сделает код плохой.
Позвольте мне упомянуть конструктор, кстати, здесь. Фактически, с буквальной точки зрения, конструктор, по -видимому, является функцией. На самом деле, это не функция, а просто модель функции. Чтобы привести неподходящий пример, конструктор эквивалентен недавно собранному автомобилю. Будь то далеко или близко, это автомобиль, но он еще не был заправлен (представляет необходимый шаг перед использованием), поэтому он не может начать. Если вы хотите, чтобы автомобиль обычно ездил нормально, вы должны добавить в него масло. Фактически, этот процесс эквивалентен экземплярам конструктора, в противном случае он не будет работать нормально! См. Следующий пример:
Кода -копия выглядит следующим образом:
функция fn () {// определить конструктор
this.elem = "Вот конструктор функции () для определения функции, хаха";
this.fn = function () {
Alert («Это для определения функции с использованием конструктора функции (), хе -хе»);
}
}
var f = new fn (); // экземпляр
оповещение (F.Elem);
f.fn ();