>웹 프론트엔드 >JS 튜토리얼 >Javascript 동적 메소드 호출 및 매개변수 수정 문제에 대한 심층적인 이해_javascript 기술

Javascript 동적 메소드 호출 및 매개변수 수정 문제에 대한 심층적인 이해_javascript 기술

WBOY
WBOY원래의
2016-05-16 17:10:091188검색

Javascript에서는 전달된 매개변수를 함수 내에서 다음과 같이 수정할 수 있습니다

코드 복사 코드는 다음과 같습니다 :

function func1(이름) {
name = 'lily'
Alert(이름)
}
func1('jack');//output lily

다른 예 보기
코드 복사 코드는 다음과 같습니다

function fun1(n) {
this.name = n
}
function fun2(name) {
fun1.call(this,'lily'); > Alert(name);
}
fun2("jack");//"jack" 출력

fun2를 "lily"로 호출할 때 fun1 함수가 매개변수를 변경하려고 했습니다. , 그러나 실패했습니다. 팝업되는 것은 여전히 ​​"잭"입니다. 왜 그런지 생각해 보세요.
사실 fun1은 호출자 속성


코드 복사 코드를 사용하여 fun2를 호출할 때 매개변수를 수정할 수 있는 기능을 여전히 갖고 있습니다. 다음과 같습니다:
function fun1() {
args.callee.caller.arguments[0] = 'lily';
}
function fun2(name) {
fun1.call(this,name);
Alert(name);
}
fun2("jack");//"lily" 출력

표시, 외부 레이어 함수는 내부 함수의 호출 스택에 표시되고 수정 가능합니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.