머리말:이 개체는 엄격 모드가 사용되지 않는 경우에만 작동합니다. this 객체는 런타임 시 함수의 실행 환경에 바인딩됩니다.
Case 1: 전역 함수에서는 window와 동일합니다. 함수가 객체의 메서드로 호출되는 경우에만 해당 객체와 동일합니다. 전역 함수가 무엇인지 아직 모르신다면 여기를 클릭하여 링크를 여세요
사례 2: 익명 함수의 실행 환경은 전역이며 일반적으로 창을 가리킵니다
예를 들어
var name = "window"; var object = { name: "Object name", getNameFunc: function () { return function (){ return this.name; }; } }; console.log(object.getNameFunc() ()); // 输出window
사례 3: 외부 범위에 넣기 이 개체는 클로저에서 액세스할 수 있는 변수에 저장됩니다. 예를 들어
var name = "window"; var object = { name: "Object name", getNameFunc: function () { var that = this; return function (){ return that.name; }; } }; console.log(object.getNameFunc() ()); // 输出Object name사례 4
: 함수를 먼저 할당하고 실행하면 this의 값을 유지할 수 없습니다. 예를 들어
var name = "window"; var object = { name: "Object name", getName: function () { return this.name; } }; console.log((object.getName = object.getName) ()); // 输出windowCase 5
: 호출이나 적용을 통해 함수의 실행 환경이 변경되면 this는 다음을 가리킵니다. 다른 물체
위 내용은 js에서 이것에 대한 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!