0
이것은 까다로운 질문이 될 것입니다. 우리가 객체 생성 할 수 있습니다정확히 새로운 것은 무엇입니까?
var Constructor = new function(){
this.a = 'a';
this.b = 'b';
}
: 생성자 갖는
var obj = new Constructor();
생성자에서이 창을 의미를하지만 일부 마법 수행되고) (새 생성자를 호출 할 때 : 지금 이을 함수의 범위를 찾는 것입니다 (정확하게 작동하는 방법은 무엇입니까?) obj에 해당 범위 만 할당하면 반환됩니다. 그래서 기본적으로 같은 일을하고있다 :
var Constructor = new function(){
var this = {some object having variables needed for every object (like __proto__)}
this.a = 'a';
this.b = 'b';
return this;
}
사람이 낮은 수준에서 일하고 JS의 새로운 객체의 생성이 메커니즘이 얼마나 말해 줄래? 새으로 전화 할 때 정확하게 무엇을하고 있습니까?
을하고'새로운 기능()'의 포인트는 무엇인가? –
@ MatíasFidemraizer : [실수예요] (https://stackoverflow.com/questions/10406552/is-it-right-to-think-of-a-javascript-function-expression-that-uses-the-new- key) – Bergi
* "이제'this'는"* 당신은 혼란스러운 범위와 'this'에있는 함수의 범위를 찾습니다. 그들은 실제로 서로 할 일이 없습니다 (각 환경 (스코프)의 환경을 제외하고는 바인딩이 있습니다). –