国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

javascript - 讀js權威指南“作為值得函數”產生了疑惑,求釋疑

瀏覽:155日期:2023-04-18 16:08:27

問題描述

首先函數聲明和函數表達式理解的也不是很透徹,基本使用的都是函數聲明,也知道會前置這點。我印象中也不知道函數表達式有沒有函數名?因為也沒怎么用過。今天看到了把函數賦給變量,發現和函數表達式似乎一樣,希望誰能夠解答下,謝謝。

var s = function square (x){return x*x; } console.log(square(4)); console.log(s(4))

上面的問題1,下面是問題2,為什么上面的代碼報錯“square is not defined”,而下面的代碼正常的輸出,是因為上面的代碼屬于函數表達式,所以不支持square(4)是嗎?寫到這兒突然想問,函數表達式就是在函數function前面同一行寫上<var xx =>,而把函數賦給變量只是在函數聲明的基礎上,另起一行<var xx = 函數名>,是這樣么?求解,謝謝

function square (x){return x*x; } var s = square; console.log(square(4)); console.log(s(4))

問題解答

回答1:

關于問題二,表達式,就是直接創建一個函數作變量,外部這個函數不存在。而函數賦予變量,則是先有函數,再有變量。

于是有了問題一的答案,s 本身是函數,外部是不存在這個函數的,于是報錯不存在。另外,應該是寫成:

var s = function() {.......}

javascript - 讀js權威指南“作為值得函數”產生了疑惑,求釋疑

回答2:

兩個問題同個答案。函數表達式的函數名是只讀的,只能在這個函數內部引用,一般用作遞歸。

標簽: JavaScript
主站蜘蛛池模板: 揭阳市| 安塞县| 双辽市| 巩留县| 蓬莱市| 闵行区| 临朐县| 张掖市| 东至县| 康乐县| 大港区| 蒙山县| 永寿县| 交城县| 当涂县| 铜陵市| 加查县| 霍城县| 斗六市| 靖州| 锡林浩特市| 赣榆县| 格尔木市| 乌什县| 曲水县| 峡江县| 明水县| 抚松县| 绥滨县| 来安县| 广宁县| 吉隆县| 土默特左旗| 射洪县| 屏边| 平果县| 阳谷县| 綦江县| 西平县| 鹤峰县| 孝义市|