2012-09-20 3 views
2

Javascript에서 self.close() 함수를 호출하여 현재 창을 닫을 수 있음을 알고 있습니다. "foo"에 경고하고 싶었던 창을 닫는 것이 가능한지 궁금합니다. javascript의 self() 속성

이 경우 내 코드 내 HTML

self.funky() 

펑키 호출하려면이 작업을 수행 할 수 있습니다

function funky(){ 
alert("foo"); 
} 

처럼 보일 것이다? 즉, 브라우저를 닫기 전에 내 사용자에게 메시지를 알리고 싶습니다.

+2

당신이 그것을 시도 적이 있습니까? 여기에 코드를 작성했습니다. 동일한 코드를 텍스트 편집기에 작성하고 브라우저에서 실행하는 것이 좋습니다. –

+0

예.이 작업을 시도하는 데 2 ​​초 정도 걸립니다. – Pointy

+0

당신이 할 수있다하더라도, 그건 단지'funky()'를 호출하는 것과 다를 것이 없습니다. – SexyBeast

답변

3

글로벌 속성 "self"는 window (일부 브라우저의 경우)의 별칭 일뿐입니다. 따라서 window의 속성은 "자체"를 통해 액세스 할 수도 있습니다.

전역 함수를 선언하면 "self"/ window의 속성이됩니다.

0

자신과 창

self === window // true 
0

self 처음 window를 참조하도록 설정되어 있다는 사실 이외의 특별한 아닌 같은 객체. 마찬가지로 글로벌 컨텍스트 thiswindow을 참조하십시오. 함수 내에서 this 함수의 문맥으로 정의되며, self 종종 문맥 보존하는 데 사용됩니다

function Foo() { 
    var self; 
    self = this; 
    setTimeout(function() { 
     self.bar(); //here `self` references the Foo instance 
    }, 1000); 
} 
Foo.prototype = { 
    bar: function() { 
     self.console.log('bar!'); //here `self` references `window` 
    } 
} 
new Foo(); 
관련 문제