2016-05-21 1 views
1

Я только что видел some dude, предлагая следующий синтаксис вместо того, который я обычно использую (всегда).

$newToMe = "I haven't used this way"; 
var oldWay = "I've always use this way"; 

Общее качество его ответа на исходный вопрос предполагает, что он знает вещи, и это не просто валяли дурака. Тем не менее, мне кажется, что существует риск заразить область jQuery, сделав это.

Могу ли я быть осторожным или это хороший способ сохранить мои собственные вещи в узком пространстве? Следует ли сочетать скопированность и осторожно использовать что-то вроде следующего?

$myCoolStuff.thing1 = $(".ones"); 
$myCoolStuff.thing2 = $(".twos"); 
+0

Отметьте эту тему. http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start-with-a-dollar-sign –

+1

'$ newToMe =" Я не использовал этот способ ";' это не настройка чего-либо на глобальном объекте jQuery. Это просто создание переменной с именем '$ newToMe'. Чтобы установить что-то на объект jQuery, нужно было бы сделать что-то вроде: '$ .newToMe =" "или' jQuery.newToMe' –

+0

Другое по тому же вопросу: http://stackoverflow.com/questions/6209462/when- почему-to-prefix-variables-with-when-using-jquery? lq = 1 –

ответ

1

Что касается «загрязнений области jQuery», то две альтернативы одинаковы. $me является лишь одним из (многих) соглашений о том, как назвать переменную - это связано с различием объектов jQuery от обычных.

Тем не менее, стоит отметить, что (учитывая код, указанный выше) $newToMe будет добавлен к глобальной области видимости (и найдены в window), где, как-oldWay не будет. Зачем? Ну, ключевое слово var приведет к ограничению его текущего контекста.

+0

О, я был введен в заблуждение от ответа в контексте jQuery. Но, конечно, для того, чтобы быть объектом jQuery, нам нужно пропустить имя (* $. Beep *). В противном случае он войдет в * window.beep * или, скорее, * window. $ Beep *, как вы говорите. –

+0

_ «где-как« oldWay' не будет »_ только если сделано внутри функции/закрытия, если сделано вне их, оно будет на глобальном объекте –

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