JS 초보자님, 문제가 발생하면 먼저 코드를 작성해주세요
으아악출력 결과가 정의되지 않았습니다.
제 질문은 1입니다. return
里面的getName
的function
是不是匿名函数 我现在理解的是匿名函数 那么这个this
应该就是指向全局吧?就是window
那为啥不输出john
2.让我更困惑的是,我在调试时候一步步走,走到this.name
的时候,this
指向的是Object
而当输出完undefined
的时候,我在监视那里的this
变成了window
,this.name
也变成了john
잘 이해가 안 되네요. 도와주세요!
typecho2017-06-26 10:59:12
이 문제는 단계별로 살펴봐야 합니다. 먼저 myObject에는 getName이라는 속성이 있고 값은 익명 함수입니다. 현재는 정의되지 않았습니다. alert(myObject.getName());
으아악
으아악
object.getName() 메소드는 익명 함수를 반환합니다. 실행 환경은 함수를 기준으로 실행 범위를 가리키므로 이때 window.name은 John입니다.lucy를 반환하려면 화살표 함수나 클로저를 생성해야 합니다.
으아악
이 포인트 변경 디버깅 문제는 익명 함수의 원래 범위가 window인데 실행되면 myObject가 호출하기 때문에 그 순간에는 myObject를 가리키기 때문입니다.
为情所困2017-06-26 10:59:12
으아악
getName
的 this
指的是 myObject
,因为 getName
直接是 myObject
所调用的,所以这里的 this 指的是 ———— 调用函数的那个对象