84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
전역 범위에서 console.log(typeof(named));가 함수 표현식의 이름에 액세스할 수 없는 이유는 무엇입니까? 함수 선언 후 전역 스코프에 이름이 노출되는거 아닌가요?
함수 표현식과 함수 선언 사이에는 몇 가지 중요한 차이점이 있습니다.
1. 함수 선언은 함수 자체인 동일한 이름의 변수를 정의합니다. 함수 표현식은 정의된 함수만을 값으로 취급합니다. function 뒤에 이름을 추가하더라도 해당 이름을 변수로 정의하지 않습니다. 이 함수 표현식은 값이므로 다른 변수에 할당될 수 있습니다.
function
2. 함수 표현식에 function()也可以写function c()를 쓸 수 있다는 것을 알 수 있습니다. 후자는 외부 범위에서 변수 c를 정의하지 않기 때문에 간단히 말해서 두 가지 점이 있습니다.
function()
function c()
의 b.name이 정의되지 않았습니다. var d = function c(){}里的d.name是存在的,值为字符串c,而var b = function(){}
var d = function c(){}
var b = function(){}
내부의 변수 b로만 참조할 수 있습니다. function c(){}的函数体内部作用域,变量c是存在的,并且就是函数本身,和外部作用域的变量d等价,而匿名函数function(){}
function c(){}
function(){}
함수 표현식과 함수 선언 사이에는 몇 가지 중요한 차이점이 있습니다.
1. 함수 선언은 함수 자체인 동일한 이름의 변수를 정의합니다. 함수 표현식은 정의된 함수만을 값으로 취급합니다.
으아악function
뒤에 이름을 추가하더라도 해당 이름을 변수로 정의하지 않습니다. 이 함수 표현식은 값이므로 다른 변수에 할당될 수 있습니다.2. 함수 표현식에
function()
也可以写function c()
를 쓸 수 있다는 것을 알 수 있습니다. 후자는 외부 범위에서 변수 c를 정의하지 않기 때문에 간단히 말해서 두 가지 점이 있습니다.의 b.name이 정의되지 않았습니다.
var d = function c(){}
里的d.name是存在的,值为字符串c,而var b = function(){}
내부의 변수 b로만 참조할 수 있습니다.
function c(){}
的函数体内部作用域,变量c是存在的,并且就是函数本身,和外部作用域的变量d等价,而匿名函数function(){}