한다고 가정 나는 그 두 '이'객체가 참조 무엇이 연산자 자바 스크립트
myClass = function(){
function doSomething(){
alert(this); // this1
}
}
alert(this); //this2
같은 자바 스크립트 코드가?
한다고 가정 나는 그 두 '이'객체가 참조 무엇이 연산자 자바 스크립트
myClass = function(){
function doSomething(){
alert(this); // this1
}
}
alert(this); //this2
같은 자바 스크립트 코드가?
글로벌 실행 컨텍스트의 this
값이 전역 객체, 예를 참조 :
this === window; // true
, 정말 당신이 함수를 호출 할 방법에 따라 달라집니다, 예를 들어, this
값은
: 때 내재적으로 설정
this
값은 전역 개체를 참조합니다.
obj.method();
this
obj
값을 참조한다 :
객체의 속성으로 결합하는 기능을 호출.
new
연산자 사용 :
new MyFunc();
this
값 MyFunc.prototype
상속 새롭게 생성 된 객체를 참조한다. 만약 어느 call
또는 apply
방법을 이용하여 함수를 호출 할 때 또한
하면, 예를 들어, 명시 적 값을 설정할 수
function test(arg) {
alert(this + arg);
}
test.call("Hello", " world!"); // will alert "Hello World!"
call
및 apply
차이는 apply
으로는 통과 할 수 있다는 것이다 배열 또는 객체 arguments
예하여 인수 올바르게 개수 :
function sum() {
var result = 0;
for (var i = 0; i < arguments.length; i++) {
result += arguments[i];
}
return result;
}
var args = [1,2,3,4];
sum.apply(null, args); // 10
// equivalent to call
sum(1,2,3,4); // 10
경우 01의 첫번째 인수 값또는 apply
이 null
또는 undefined
인 경우 this
값은 전역 개체를 나타냅니다.
(call
및 apply
는 수정없이 thisArg
값을 전달하는 곳 ECMAScript를 5로, 앞으로는 변화 참고)