2014-10-22 2 views
2

В начальной загрузки JS (я проверил версию 3.2.0) некоторые определения функции имеют знак плюс на первом и 'use strict'; в следующем:функции Bootstrap JS Определения

+function ($) { 
    'use strict'; 
    ... 
} 

'Use strictly';, как я предполагаю, что это определение синтаксиса AMD может быть. Может ли кто-нибудь объяснить этот синтаксис и смысл и где лучше использовать этот шаблон? Спасибо.

UPDATE: Кажется, знак + (или любой произвольный унарный оператор) использует, чтобы превратить объявление функции в выражение. Проверьте здесь для получения дополнительной информации: https://stackoverflow.com/a/11897575/332420

+0

Это, вероятно, IIFE, и вы пропустили скобки, которые вызывают функцию '+ функция() {}()'. 'use strict' не имеет ничего общего с AMD, см. здесь https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode – elclanrs

+0

Определение именно этой« + функции ($) {.. .} (Jquery);» ничего не пропало. Вы можете проверить его здесь: https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.js –

+0

Правильно, вы не поставили в вопрос круг, который делает '+ function ($) {} 'нечувствительный. Плюс '+' или любые другие унарные операторы будут делать '+ function() {}(), ~ function() {}(),! Function() {}(), ...' – elclanrs

ответ

1

«Строгий режим делает его легче писать„обеспечить плохой синтаксис „в реальные ошибки

В качестве примера, в“ JavaScript

Строгий режим изменения ранее принятого.“. нормальный JavaScript, замалчивание имени переменной создает новую глобальную переменную. В строгом режиме это вызовет ошибку, из-за чего невозможно случайно создать глобальную переменную.

В обычном JavaScript разработчик не получит никакой связи с ошибками значения для неприменимых свойств.

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

Знак + заставляет функции запускаться автоматически, например. Google использует! вместо

MORE

+0

Спасибо. В чем смысл этого знака + перед ключевым словом функции. Это альтернативный синтаксис для синтаксиса закрытия? –

+1

Функция его принудительного запуска для автоматического запуска, например. Google использует! вместо + –

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