日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

javascript - 解釋下這種函數定義

瀏覽:222日期:2023-03-11 16:39:11

問題描述

一般定義函數

const foo = function(){console.log(’666’)}; foo(); //666

或者

function foo(){console.log(’666’)}; foo(); //666

那么下面這個這么解釋?

const foo = function foo(){console.log(’666’)}; foo();

問題解答

回答1:

其實題主覺得第三種寫法奇怪,且看起來雞肋,是因為沒有搞懂這種寫法的正確用法,第二個例子比較直觀

簡單來說,第一個和第三個都是函數表達式,第二個是函數聲明。第三個是比較特殊一些的函數表達式,擁有特殊能力。

要來解釋這個問題,我們需要搞懂’What, How, Why’.

所以第一個和第二個區別主要在于他們聲明的時機不一致,函數表達式是在代碼執行到那條語句的時候才會給變量賦值,而函數聲明會在進入當前函數執行上下文的時候就提前賦值。

直觀的例子

console.log(foo); // undefinedvar foo = function(){}; console.log(foo); // function(){}console.log(bar); // function(){}function bar() {}console.log(bar); // function(){}

對于第三種,直觀的例子是這樣

console.log(foo); // undefinedvar foo = function bar(){ console.log(bar); // function(){...} console.log(foo); // undefined}; console.log(foo); // function(){}console.log(bar); // undefined

所以看出區別了吧,就是這種寫法的函數標示符和函數聲明的不一樣,它可以在函數內部訪問到,但是函數外部是訪問不到的。所以我們看到很多地方會這么寫,有一個好處就是在使用遞歸的時候調用自身的時候,函數是有名字的,比較直觀

為什么會這樣?

瀏覽器解析的時候其實是把表達式后面的標示符付給了當前的函數對象,所以上面的例子中

foo.name; // bar

而在函數內的執行上下文中,當前函數對象是在作用域中的,所以可以在內部調用

以上

回答2:

補充一下第三種定義的解釋: 它本身是一個函數表達式,并不是函數定義語句. 函數表達式是可以有函數名的,但是這個函數名只能在該函數表達式內部使用.參考 Javascript權威指南 8.1 函數定義這一小節:

javascript -  解釋下這種函數定義

回答3:

MDN JavaScript 函數中定義函數有多種方法:

函數聲明 (函數語句)

函數表達式 (function expression)

函數生成器聲明 (function* 語句)

函數生成器表達式 (function* 表達式)

箭頭函數表達式 (=>)

Function構造函數

生成器函數的構造函數

對于樓主的問題這里只談函數聲明和函數表達式。

1) 函數聲明

function name([param[, param[, ... param]]]) { statements }

2) 函數表達式

let function_expression = function [name]([param1[, param2[, ..., paramN]]]) { statements};

name是可選的,當省略函數名name的時候,函數就成為了匿名函數。

看到這里自然不必再繼續談為啥有第三種寫法了,不然確實鉆牛角尖了,但是這里不得不說一下函數聲明和函數表達式的區別,主要體現在變量提升的問題上:

javascript -  解釋下這種函數定義

javascript -  解釋下這種函數定義

javascript -  解釋下這種函數定義

JavaScript 僅提升聲明,而不是初始化。函數聲明下存在變量提升,而函數表達式下不會,所以函數表達式先調用函數,再聲明函數會報錯。

回答4:

第一個foo => 沒名字的function第三個foo => 有名字的function

但是兩個function的執行內容是一樣的的,都把這個函數賦值給foo變量初始化對象

至于第二個,就是正常的聲明一個函數,然后調用函數

回答5:

第三種就是賦值操作呀!把函數賦值給foo!如果在之前使用foo就是為定義和平時提前使用一個未定義的變量一樣啊!如果你在你所寫的那段代碼后console.log(foo)是打印整個函數,加個()自然就是調用此函數了!記住單等號在js中永遠是賦值操作等號右邊就是賦值的內容就好了!不要想的太麻煩了!就算等號后面再寫100個函數最多也只是進行了一個賦值而已!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美精品高清| 丝袜美腿一区二区三区| 日本91福利区| 亚洲狼人精品一区二区三区| 日韩制服丝袜av| 欧美日韩视频| 中文在线不卡| 亚洲+小说+欧美+激情+另类| 少妇精品久久久一区二区| 日本在线一区二区三区| 欧美亚洲综合视频| 老司机精品视频网| 日韩成人免费| 伊人久久大香线蕉av不卡| 免费观看不卡av| 亚洲一区av| 国产精品一区二区精品| 国产suv精品一区二区四区视频| 伊人久久av| 欧美日韩水蜜桃| 午夜国产精品视频免费体验区| 午夜在线观看免费一区| 亚洲欧美日本国产| 麻豆精品视频在线观看免费| 国产v日韩v欧美v| 国产主播一区| 亚洲另类av| 国产极品久久久久久久久波多结野| 久久精品国内一区二区三区| 精品三级久久| 日韩精品一区二区三区免费视频| 日韩国产欧美三级| а√在线中文在线新版| 香蕉视频成人在线观看| 日韩精品社区| 国产精品香蕉| 日韩国产一区| 在线亚洲激情| 国产欧美日韩影院| 天堂中文在线播放| 午夜在线精品偷拍| 你懂的亚洲视频| 久久精品中文| 日本视频中文字幕一区二区三区| 成人精品动漫一区二区三区| 亚洲激情国产| 国产精品一区二区三区www| 精精国产xxxx视频在线野外| 亚洲人成网77777色在线播放 | 伊人精品在线| 国产欧美一区二区三区国产幕精品 | 国产一区二区三区久久| 亚洲欧美日韩高清在线| 国产欧美一区二区三区精品观看| 欧美va亚洲va日韩∨a综合色| 亚洲ab电影| 日韩精品影视| 国产精品一级| 激情欧美丁香| 欧美日韩1区| 国产一区二区三区四区| 99视频精品免费观看| 欧美久久亚洲| 欧美高清不卡| 久久精品国产精品亚洲毛片| 在线亚洲观看| 精品视频一区二区三区四区五区 | 国产免费久久| 亚洲18在线| 91精品国产经典在线观看| 久久久国产精品网站| 在线精品小视频| 国产精品久久久久久模特| 免费视频国产一区| 久久av国产紧身裤| 美女国产一区| 亚洲性色av| 国产精品一区二区av交换| 三级欧美韩日大片在线看| 超碰99在线| 日韩欧美2区| 亚洲激情久久| a国产在线视频| 国产精品最新| 香蕉久久久久久| 欧美日一区二区| 精品一级视频| 欧美三级第一页| 亚洲一区二区日韩| 国产主播一区| 日韩深夜视频| 精品亚洲精品| 麻豆一区二区三区| 国产亚洲精品美女久久| 日韩在线一二三区| 欧美日韩国产亚洲一区| 日韩久久精品网| 精品视频高潮| 欧美黄页在线免费观看| 亚洲三级在线| 国产农村妇女精品一二区| 伊人久久av| av中文字幕在线观看第一页| 精品一区二区三区中文字幕视频| 国产欧美日韩精品一区二区三区| 日韩激情av在线| 日韩avvvv在线播放| 日韩精品免费一区二区夜夜嗨| 伊人精品久久| 在线看片日韩| 日韩精品国产欧美| 中文字幕成人| 日韩精品三级| 欧美亚洲专区| 国产精品一级| 国产精品亚洲二区| 国产精品一区二区三区美女 | 国产精品普通话对白| 久久久久国产| 亚洲不卡系列| 久久一级电影| 欧美日韩中文字幕一区二区三区| 日韩精品欧美| 国产国产精品| 欧美精品羞羞答答| 黄色成人精品网站| 尹人成人综合网| 欧美特黄视频| 在线看片日韩| 日韩美女精品| 国产精品99久久免费观看| 日韩不卡一二三区| 国产精品中文字幕亚洲欧美 | 免费av一区二区三区四区| 亚洲精品一区二区妖精| 国产精品毛片一区二区三区| 丝袜国产日韩另类美女| 日韩在线黄色| 欧美激情亚洲| 精品久久久久中文字幕小说| 首页国产精品| 91精品一区二区三区综合在线爱| 美女毛片一区二区三区四区| 99视频+国产日韩欧美| 一区二区三区网站| 91在线成人| 久久亚洲黄色| 亚洲综合在线电影| 最新亚洲一区| 亚洲精品高潮| 国产精品1luya在线播放| 精品成av人一区二区三区| 最新中文字幕在线播放| 亚洲午夜一级| 欧美专区18| 日本aⅴ亚洲精品中文乱码 | 视频一区欧美日韩| 国产日本久久| 日韩在线免费| 免费观看久久久4p| 国产日韩欧美一区二区三区 | 中文字幕日本一区二区| 国产精品免费99久久久| 麻豆mv在线观看| 噜噜噜躁狠狠躁狠狠精品视频| 青草综合视频| 亚洲www啪成人一区二区| 一区二区日韩免费看| 欧美国产极品| 91久久中文| 久久字幕精品一区| 欧美精品一二| 国产欧美三级| 欧美福利在线| 国产精品sss在线观看av| 欧美日韩精品一区二区视频| 日韩欧美中文字幕在线视频| 国内精品美女在线观看| 91精品1区| 国产精品最新| 亚洲高清av| 国产欧美综合一区二区三区| 久久精品观看| 国产精品nxnn| 免费中文字幕日韩欧美| 大香伊人久久精品一区二区| 99视频一区| 久草精品视频| 免费在线欧美视频| 国产精品久久久久久久久久10秀| 国产视频欧美| 九九久久国产| 免费在线欧美视频| 92国产精品| 久久国内精品自在自线400部| 女主播福利一区| 中文av在线全新| 欧美亚洲福利| 99国产精品视频免费观看一公开| 国产一区二区三区四区|