почему пишут так?
часть копаясь в чужом коде вижу
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:17. |