91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用JS函數的注意事項有哪些

發布時間:2021-01-22 14:42:00 來源:億速云 閱讀:201 作者:小新 欄目:web開發

這篇文章主要介紹使用JS函數的注意事項有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

函數聲明和函數表達式有什么區別 (*)

函數聲明:function bar() {}
函數表達式:var fuc = foo(){}
1.函數bar將會在整個程序執行前被 hoist(提升),因此它在定bar函數的整個scope (作用域)中都是可用的。即使在函數定義之前調用它也沒問題。
2.對于函數聲明,函數的名稱是必須的,而對于函數表達式而言則是可選的,因此,就出現了匿名函數表達式和命名函數表達式。
3在這個函數里

var foo = function bar() {
bar(); // Works};
bar(); // ReferenceError命名函數bar賦值給了變量foo,所以在函數聲明外是不可見的,但在bar`函數內部仍然可以調用。這是因為Javascript對命名函數處理的機制,函數的名稱永遠在函數內部的作用域中有效。

什么是變量的聲明前置?什么是函數的聲明前置 (**)

所謂的變量聲明前置就是在一個作用域塊中,所有的變量都被放在塊的開始出聲明。下面通過三段代碼舉例:
代碼1:

var a = 1;
function main() {
console.log(a);//1
}
main();//輸出1`

代碼2:

1 var a = 1;
2 function main() {
3  console.log(a);
4 var a = 2;
5 }
6 main()//輸出undefined

代碼3:為什么代碼2會輸出undefined

1 var a = 1;
2 function main() {
3 var a;
4  console.log(a);
5 a = 2;
6 }

函數的聲明前置就是把整個函數提升到當前作用域的最前面(位于前置的變量聲明后面)。

var num = 1;
console.log(doubleNum(num));//2
function doubleNum(num){ return num2;}

等價于

//函數的聲明前置
var num;
function doubleNum(num){ return num2;}
num = 1;
console.log(doubleNum(num));//2

arguments 是什么 (*)

arguments 是一個類數組對象。代表傳給一個function的參數列表。可以在函數內部通過使用 arguments對象來獲取函數的所有參數。這個對象為傳遞給函數的每個參數建立一個條目,條目的索引號從 0 開始。

函數的重載怎樣實現 (**)

可以通過arguments的length和參數的類型來實現。例:

function sumOfSquares(a, b, c){
if(arguments.length<3){
c = 0;
}
return aa+bb+c*c
}
sumOfSquares(2,3,4);   // 29
sumOfSquares(1,3);   // 10

立即執行函數表達式是什么?有什么作用 (***)

立即執行函數通常有下面兩種寫法:
(function(){...})();
(function(){ ...}());//推薦使用
在Javascript中,一對圓括號“()”是一種運算符,跟在函數名之后,表示調用該函數。
參考-JavaScript中的立即執行函數

什么是函數的作用域鏈 (****)

作用域就是變量和函數的可訪問范圍,控制著變量和函數的可見性與生命周期,在JavaScript中變量的作用域有全局作用域和局部作用域。
作用域鏈是當代碼在一個環境中執行時,會創建變量對象的一個作用域鏈(scope chain,不簡稱sc)來保證對執行環境有權訪問的變量和函數的有序訪問。作用域第一個對象始終是當前執行代碼所在環境的變量對象(VO)

以上是“使用JS函數的注意事項有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枣强县| 上杭县| 浦江县| 姚安县| 房山区| 钦州市| 田林县| 旬邑县| 新源县| 长治县| 新河县| 蒲城县| 盐池县| 崇州市| 泰和县| 嘉荫县| 洛隆县| 确山县| 沧州市| 陕西省| 绥滨县| 麻江县| 濉溪县| 饶平县| 汾西县| 五华县| 和平区| 嘉善县| 长沙县| 清涧县| 阳原县| 瑞安市| 姜堰市| 安福县| 上杭县| 平潭县| 龙泉市| 安平县| 武安市| 达尔| 横山县|