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 を外部スコープで定義しません。簡単に言うと、次の 2 つの点があります。
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 を外部スコープで定義しません。簡単に言うと、次の 2 つの点があります。のb.nameは未定義です。
var d = function c(){}
里的d.name是存在的,值为字符串c,而var b = function(){}
内の変数 b によってのみ参照できます。
function c(){}
的函数体内部作用域,变量c是存在的,并且就是函数本身,和外部作用域的变量d等价,而匿名函数function(){}