Baseline Widely available
å
¨å±å±æ§ undefined
表示åå§å¼ undefinedã宿¯ä¸ä¸ª JavaScript ç åå§æ°æ®ç±»å ã
function test(t) {
if (t === undefined) {
return "Undefined value!";
}
return t;
}
let x;
console.log(test(x));
// Expected output: "Undefined value!"
è¯æ³ æè¿°
undefined
æ¯å
¨å±å¯¹è±¡çä¸ä¸ªå±æ§ãä¹å°±æ¯è¯´ï¼å®æ¯å
¨å±ä½ç¨åçä¸ä¸ªåéã
å¨ç°ä»£æµè§å¨ï¼JavaScript 1.8.5/Firefox 4+ï¼ï¼èª ECMAscript5 æ åä»¥æ¥ undefined æ¯ä¸ä¸ªä¸è½è¢«é ç½®ï¼non-configurableï¼ï¼ä¸è½è¢«éåï¼non-writableï¼ç屿§ãå³ä¾¿äºå®å¹¶é妿¤ï¼ä¹è¦é¿å å»éåå®ã
ä¸ä¸ªæ²¡æè¢«èµå¼çåéçç±»åæ¯ undefinedãå¦ææ¹æ³æè æ¯è¯å¥ä¸æä½çåéæ²¡æè¢«èµå¼ï¼åä¼è¿å undefinedï¼å¯¹äºè¿å¥è¯æçææåº¦ï¼è¯·æ¥çè±æåææ¥çè§£ï¼ã
function test(a) {
console.log(typeof a); // undefined
return a;
}
test(); // è¿å"undefined"
ä¸ä¸ªå½æ°å¦ææ²¡æä½¿ç¨ return è¯å¥æå®è¿å
å¼ï¼å°±ä¼è¿åä¸ä¸ª undefined å¼ã
è¦åï¼ ä½æ¯å®æå¯è½å¨éå ¨å±ä½ç¨åä¸è¢«å½ä½æ è¯ç¬¦ï¼åéåï¼æ¥ä½¿ç¨ï¼å 为 undefined 䏿¯ä¿çåï¼ï¼è¿æ ·åæ¯ä¸ä¸ªé常åç主æï¼å ä¸ºè¿æ ·ä¼ä½¿ä½ ç代ç é¾ä»¥å»ç»´æ¤åæéã
// ä¸è¦è¿æ ·åï¼
(() => {
const undefined = "foo";
console.log(undefined, typeof undefined); // foo string
})();
((undefined) => {
console.log(undefined, typeof undefined); // foo string
})("foo");
ç¤ºä¾ ä¸¥æ ¼ç¸çå undefined
ä½ å¯ä»¥ä½¿ç¨ undefined åä¸¥æ ¼ç¸çæä¸ç¸çæä½ç¬¦æ¥å³å®ä¸ä¸ªå鿝妿¥æå¼ãå¨ä¸é¢ç代ç ä¸ï¼åé x æ¯æªå®ä¹çï¼if è¯å¥çæ±å¼ç»æå°æ¯ true
var x;
if (x === undefined) {
// æ§è¡è¿äºè¯å¥
} else {
// è¿äºè¯å¥ä¸ä¼è¢«æ§è¡
}
夿³¨ï¼ è¿éæ¯å¿
须使ç¨ä¸¥æ ¼ç¸çæä½ç¬¦ï¼===ï¼è䏿¯æ åç¸çæä½ç¬¦ï¼==ï¼ï¼å 为 x == undefined 伿£æ¥ x æ¯ä¸æ¯ nullï¼ä½æ¯ä¸¥æ ¼ç¸çä¸ä¼æ£æ¥ï¼æç¹é¥¶äººï¼å
¶å® === ä¼ä¸¥æ ¼å¤æåæ¹çç±»åãå¼çæ¯å¦ç¸çï¼ãnull ä¸çåäº undefinedãç§»æ¥æ¯è¾æä½ç¬¦
æ¥ç详æ
ã
æè
ï¼å¯ä»¥ä½¿ç¨typeof
ï¼
var x;
if (typeof x === "undefined") {
// æ§è¡è¿äºè¯å¥
}
ä½¿ç¨ typeof
çåå æ¯å®ä¸ä¼å¨ä¸ä¸ªåéæ²¡æè¢«å£°æçæ¶åæåºä¸ä¸ªé误ã
// è¿é没æå£°æ y
if (typeof y === "undefined") {
// 没æéè¯¯ï¼æ§è¡ç»æä¸º true
console.log("y is " + typeof y); // y is undefined
}
if (y === undefined) {
// ReferenceError: y is not defined
}
使¯ï¼ææ¯æ¹é¢çæ¥è¿æ ·çä½¿ç¨æ¹æ³åºè¯¥è¢«é¿å
ãJavaScript æ¯ä¸ä¸ªéæä½ç¨åè¯è¨ï¼æä»¥ï¼ä¸ä¸ªå鿝å¦è¢«å£°æå¯ä»¥éè¿ç宿¯å¦å¨ä¸ä¸ªå°éçä¸ä¸æä¸è¢«å£°æãå¯ä¸çä¾å¤æ¯å
¨å±ä½ç¨åï¼ä½æ¯å
¨å±ä½ç¨åæ¯è¢«ç»å®å¨å
¨å±å¯¹è±¡ä¸çï¼æä»¥è¦æ£æ¥ä¸ä¸ªå鿝å¦å¨å
¨å±ä¸ä¸æä¸åå¨å¯ä»¥éè¿æ£æ¥å
¨å±å¯¹è±¡ä¸æ¯å¦åå¨è¿ä¸ªå±æ§ï¼æ¯å¦ä½¿ç¨in
æä½ç¬¦ï¼ã
if ("x" in window) {
// åªæ x 被å
¨å±æ§çå®ä¹ æä¼æ§è¡è¿äºè¯å¥
}
Void æä½ç¬¦å undefined
void
æä½ç¬¦æ¯ç¬¬ä¸ç§å¯ä»¥æ¿ä»£çæ¹æ³ã
var x;
if (x === void 0) {
// æ§è¡è¿äºè¯å¥
}
// 没æå£°æ y
if (y === void 0) {
// æåºä¸ä¸ª RenferenceError é误ï¼ä¸ `typeof` ç¸æ¯ï¼
}
è§è æµè§å¨å
¼å®¹æ§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4