2015-02-04 5 views
0

undefined을 무언가에 정의한 사람들을 둘러 보려면이 IIFE 트릭이 있습니다. 그것은 다음과 같습니다 :JavaScript에서 undefined를 어떻게 정의합니까?

(function (undefined) { 
    // ... 
})(); 

어떻게이 사람이됩니까? 더 이상 undefined을 정의 할 수 있습니까?

내 콘솔 (FF 또는 크롬)를 열 경우는 다음과 같이 표시됩니다

undefined = 5 // => 5 
undefined  // => undefined 
+0

[ "* 현대적인 브라우저 (JavaScript 1.8.5/Firefox 4+)에서 ECMAScript 5 사양에 따라 undefined는 구성 할 수없고 쓰기가 불가능한 속성이지만 undefined는 무시해야합니다. *] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined) – epascarello

답변

0

나는 동의한다 - 정의 할 방법이 없다. 그리고 나는 이유를 설명하려고합니다 :

console.log(Object.getOwnPropertyDescriptor(window,"undefined")) 

어느 물론, 다음과 같은 인쇄 :

Object {value: undefined, writable: false, enumerable: false, configurable: false} 

재산 writablefalse 그때 당신이 그것을 변경할 수없는 경우 MDN에 따르면. 확실히 명백한가요?

범위를 변경하려고하면 (함수 내부에서 수행) 스코프의 소유자가되며 원하는대로 이름을 정의 할 수 있습니다. 하지만 지금까지 범위는 window입니다.

+0

Verdammt. 저의 시작 아이디어가 있습니다 : P '쓰기 가능'상태를 변경하는 방법이 있어야합니다. –

+0

자신의 브라우저와 보일 쓰기! :) – smnbbrv

1

당신은 최신 브라우저에서 정의되지 않은 값을 할당하지 않습니다.

관련 문제