почему пишут так?
часть копаясь в чужом коде вижу
typeof variable == "undefined" почему не так ? variable === undefined просто разный стиль кода, или я чего то не понимаю? П.с просто вижу такую проверку наверное в 90% случаев... |
alert(variable === undefined) alert(typeof variable == "undefined") |
Цитата:
А глобальные, если они не прописаны в коде явно, никто так в здравом уме не проверяет. Остальное - вопросы стиля и предпочтений, имхо. |
Цитата:
Цитата:
Цитата:
isUndef(value) |
|
Цитата:
Цитата:
var x; не изменит значение x на undefined , если переменная x ранее определена.Делая так в глобале, можно выстрелить себе в ногу, если не различать глобальные переменные и свойства/методы инстанса Window. var FormData; if (!FormData) { //все нормально, реализуем свой FormData } var postMessage; if (!postMessage) { //в Chrome и IE мы только что убили глобальную ссылку на postMessage, //причем даже window.postMessage работать не будет } |
Цитата:
Да вообще, бывает, вытаскиваешь из скрипта со стирктом сниппет и вставляешь туда, где стрикт не включен, или наоборот. Поэтому хочется ожидать, что поведение будет strict-независимым. Цитата:
Цитата:
value === void 0Потому что, на мой взгляд, это промах в дизайне языка, что у undefined нет своего литерала. Поэтому лично я undefined стараюсь избегать везде, где только можно. |
Цитата:
Могу написать: typeof window === 'undefined' typeof importScripts === 'undefined' И т.д., но такое приходится делать редко :) ЗЫ: Цитата:
Цитата:
|
kobezzza,
Напиши, плиз, все проверки окружения, которые ты используешь. Ну, то есть, поделись опытом. :) |
Цитата:
var evalSupport = false; try { evalSupport = eval('true'); } catch (ignore) {} При написании плагинов к разному софту проверки уже очень специфичны. |
Часовой пояс GMT +3, время: 18:26. |