네 가지 메소드의 실행 결과에는 차이가 없습니다. 하지만 함수에 반환 값이 있는 경우 new로 호출할 때 약간 실망할 수 있습니다.
1. () 괄호 연산자 가장 일반적으로 사용되는 것은 함수를 호출하는 () 연산자입니다
코드 복사 코드는 다음과 같습니다. 🎜>
//매개변수 없음 function fun1
function fun1() {
alert('내가 불렀습니다')
}
fun1()
// 매개변수가 포함된 함수 fun2
function fun2(param) {
alert(param)
}
fun2('내가 호출되었습니다')
ECMAScript 3 이후에 call을 추가하고 Function에 적용하면
2가지 종류가 있습니다. 2. call
코드 복사 코드는 다음과 같습니다.
//매개변수 없음 function fun1
function fun1() {
alert('내가 호출되었습니다')
}
fun1.call(null); //매개변수가 있는 fun2 함수
function fun2(param) {
alert(param)
}
fun2.call(null,'내가 호출되었습니다')
3. 적용
코드 복사
//매개변수 없음 함수 fun1
function fun1 () {alert('내가 불렀습니다');
}
fun1.apply(null)
//매개변수 function fun2
function fun2(param) {
alert(param);
}
fun2.apply(null,['전화받았습니다'])
4. new(
)
코드를 복사하세요
//매개변수 없음 function fun1
function fun1 ( ) {alert('내가 불렀습니다');
}
new fun1()
//매개변수가 있는 fun2 함수
function fun2(param) {
alert(param);
}
new fun2('I was received')
자, 위의 호출 메소드에는 4가지 실행 메소드가 있습니다. 결과에는 차이가 없습니다. 하지만 함수에 반환 값이 있는 경우 new로 호출할 때 약간 실망할 수 있습니다.
코드 복사
//반환 값이 있는 fun 함수
function fun() {alert( '나는 전화받았습니다');
return "jack";
}
var c = new fun()
alert(c);//[object Object] , 왜 "잭"이 아닌가?
이렇게 바뀌었는데,
코드를 복사하세요
/ /반환 값이 있습니다. Function fun
function fun() {alert('I was Called')
return {name:'jack'}
var c = new fun();
alert(c.name);//jack, 다시 정상적으로 반환됨
좋아요, 요약하자면, new 메소드를 사용하여 함수를 호출할 때입니다. 반환값이 있는 경우 반환값이 String, Number, Boolean 등과 같은 JavaScript 내장형(기본형)인 경우 반환값이 객체, 함수인 경우에는 값을 반환하지 않습니다. , 배열 및 기타 객체 유형의 경우 객체, 함수, 배열이 반환됩니다.