В Javascript существует пять семантик круглых скобок.
Семантика 1, список параметров при объявлении функции
Скопируйте код кода следующим образом:
функция func(arg1,arg2){
// ...
}
Семантика 2, используется в сочетании с некоторыми утверждениями для достижения определенных ограничивающих эффектов.
Скопируйте код кода следующим образом:
// используется с for in
for(var a in obj){
// ...
}
// используется с if
если (бу) {
//...
}
// используется с while
пока (бу){
// ...
}
// используется с do while
делать{
// ...
} пока (бу)
Примечание. При использовании с if, while и do while круглые скобки неявно преобразуют результат выражения в логическое значение. См. Неявное преобразование типов в JavaScript.
Семантика 3, используется с новыми для передачи значений (фактических параметров)
Скопируйте код кода следующим образом:
// Предположим, что определен класс Person, который имеет два поля name (имя) и age (возраст)
var p1 = новый человек('Джек',26);
Семантика 4, как оператор вызова функций или методов объекта (если параметры определены, фактические параметры также могут передаваться так же, как и семантика 3)
Скопируйте код кода следующим образом:
// Предположим, что функция func определена
функция();
// Предположим, что объект obj определен и имеет метод func
объект.функ();
Вот оператор typeof, некоторым нравится использовать его таким образом
тип(ххх);
Обратите внимание, что круглые скобки после typeof — это не семантика 4 (то есть не вызов функции), а семантика 5, упомянутая позже. Обычно я использую typeof без скобок.
Семантика 5, принудительная оценка выражения
Что касается Semantic 5, то каждый лучше всего знаком с использованием eval для анализа JSON.
Скопируйте код кода следующим образом:
функция strToJson(str){
// Принудительные операторы () добавляются с обеих сторон строки в eval
var json = eval('(' + str + ')');
вернуть JSON;
}
Другой пример: анонимные функции часто используются для самостоятельного выполнения.
Скопируйте код кода следующим образом:
(функция(){
// ...
})();