1. 왜 정의되지 않아야 하나요?
undefine은 JavaScript의 예약어가 아니기 때문에 사용자가 변수로 값을 할당할 수 있습니다. 나중에 변수를 감지하기 위해 undefine을 사용해야 하는 경우 감지된 값이 부정확해집니다.
예를 들어주세요:
var undefined=10; function sum(a,b){ if(a===undefined||b===undefined){ console.log("参数不正确"); }18101130357 return a+b; }
이때 모든 브라우저와 호환되기 위해서는 순수 undefinde를 얻어야 합니다
2. 순수 정의되지 않은 상태를 얻는 방법은 무엇인가요?
1) 무효(0):
ECMAScript 262 사양에는 다음과 같이 설명되어 있습니다.
The void Operator The production UnaryExpression : void UnaryExpression is evaluated as follows: Let expr be the result of evaluating UnaryExpression. Call GetValue(expr). Return undefined.
2) 할당을 위한 형식 매개변수 전달
[사례]
function(_undefined){ //函数体中不给_undefined赋值,形参_undefined的值就是undefined,在这个函数用就可以使用_undefined了 }
3) 할당되지 않은 변수
예: var num //원리는 2)와 같습니다.익숙한 것에 지루해하지 말고 매일 조금씩 발전하세요. 낯선 것을 두려워하지 말고 매일 조금씩 배우세요.
PS: js는 정의되지 않은 유형을 결정합니다.
if (reValue== undefined){ alert("undefined"); } 发现判断不出来,最后查了下资料要用typeof 方法: if (typeof(reValue) == "undefined") { alert("undefined"); }