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