728x90 300x250 SMALL javaScript545 함수호출(), new 함수호출() 차이 함수호출() var userID = "test"; function Person(name){ this.userID = name; } /* 함수호출 */ Person("user111"); //1 console.log(`userID = ${userID}`); /* 실행결과 : userID = user111 */ 자바스크립트에서 보통 함수와 클래스를 구분하기 위해 클래스일 경우는 보통 맨 앞글자를 대문자로 사용한다. 따라서 Person() 클래스를 의미한다. 그러나 함수와 클래스는 정의하는 문법이 같기 때문에 1번처럼 일반적인 함수를 호출하듯이 호출하면 함수 호출이 된다. 일반 함수에서의 this는 window 객체를 나타낸다. 따라서 전역에 있는 userID값이 변경된다. new 함수호출() var userI.. 2023. 8. 30. 상황에 따른 this 값 일반 함수에서 this window 객체 중첩 함수에서 this window 객체 이벤트에서의 this 이벤트를 발생시킨 객체 메서드 에서의 this 메서드를 호출한 객체 메서드 내부의 중첩함수에서 this window 객체 2023. 8. 29. 메서드 내부의 중첩 함수에서의 this var value=10; // 클래스 정의 function Execute() { // 프로퍼티 정의 this.value=0; } // 메서드 정의 Execute.prototype.method1=function(){ function inner(){ this.value=20; value=30; console.log("1. value1 = "+value); console.log("2. this.value = "+this.value); console.log("3. window.value = "+window.value); } inner(); } // 인스턴스 생성 var ex1 = new Execute(); // 메서드 호출 ex1.method1(); /* 실행결과 1. value = 30 2. this.valu.. 2023. 8. 28. 메서드 에서의 this var value=10; // 클래스 정의 function Execute() { // 프로퍼티 정의 this.value=0; } // 메서드 정의 Execute.prototype.method1=function(){ this.value=20; value=30; //method1()내부에서 먼저 찾고 없으면 전역변수에서 찾는다. console.log("1. value = "+value); console.log("2. this.value = "+this.value); console.log("3. window.value = "+window.value); } // 인스턴스 생성 var ex1 = new Execute(); // 메서드 호출 ex1.method1(); /* 실행결과 1. value = 30 2. t.. 2023. 8. 27. 이전 1 ··· 23 24 25 26 27 28 29 ··· 137 다음 728x90 반응형 LIST