Javascript에서 정적 범위를 이해하는 데 어려움을 겪고 있습니다. 사람이 아래의 두 가지 기능 사이의 차이를 설명시겠습니까 것은왜 sayHi.alternate() {} "가 작동하지 않습니까?
내가 평소 감사
Javascript에서 정적 범위를 이해하는 데 어려움을 겪고 있습니다. 사람이 아래의 두 가지 기능 사이의 차이를 설명시겠습니까 것은왜 sayHi.alternate() {} "가 작동하지 않습니까?
내가 평소 감사
이 유효 자바 스크립트되지 않습니다 : 기능이 방법을 선언 할 때
function sayHi.alternate(){
당신은 속성을 할당 할 수 없습니다. 함수에 사용할 이름 만 정의 할 수 있습니다. 그래서 다른 서식을 개체 속성에 할당하거나 변수에 할당 할 때 다른 서식이 사용됩니다.
function sayHi.alternate(){
alert("Hola");
}
으로
function sayHi(){
alert("Hi");
}
function sayHi.alternate(){
alert("Hola");
}
sayHi();
sayHi.alternate();
을 할 경우 내가
function sayHi(){
alert("Hi");
}
sayHi.alternate=function(){
alert("Hola");
}
sayHi();
sayHi.alternate();
그러나 doenst 작업을 할 경우 잘 작동
... 구문 오류가 발생합니다. 그것은 당신의 기능을 sayHi.alternate
으로 지명 할 수 없기 때문입니다. 자바 스크립트의 모든 객체이기 때문에
그러나, 기능 포함 , 당신은 단순히 객체로 sayHi
기능을 치료와 함께 해 새로운 방법을 추가 할 수 있습니다
sayHi.alternate = function(){
alert("Hola");
}
당신이 function sayHi.alternate
을 쓸 때 sayHi.alternate
이라는 함수를 만들려고합니다. 함수는 이름에 마침표를 포함 할 수 없기 때문에 sayHi.alternate
은 잘못된 함수 이름입니다.
sayHi.alternate= function
을 만들면 객체 sayHi
안에 alternate
이라는 함수를 만듭니다.