成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JS中用函數(shù)聲明和函數(shù)表達式兩種方式創(chuàng)建函數(shù)的區(qū)別

liangzai_cool / 2723人閱讀

摘要:在中創(chuàng)建函數(shù)的方式有很多種,本文主要講解函數(shù)聲明和函數(shù)表達式兩種方式創(chuàng)建函數(shù)的區(qū)別上面是這兩種方法創(chuàng)建函數(shù)的格式他倆的區(qū)別主要在對待對待這兩種方式的處理方式上,前者看作函數(shù),后者為變量。

在JS中創(chuàng)建函數(shù)的方式有很多種,本文主要講解函數(shù)聲明(function declaration)和函數(shù)表達式(function expression)兩種方式創(chuàng)建函數(shù)的區(qū)別.

function add1(a, b) {
    return a + b;
}  //  function declaration

var add2 = function(a, b) {
    return a+b;
};  // function expression

上面是這兩種方法創(chuàng)建函數(shù)的格式
他倆的區(qū)別主要在對待JS對待這兩種方式的處理方式上,前者看作函數(shù),后者為變量。JS在執(zhí)行代碼的時候,會有一個叫做Hoisting的操作,Hoisting的結果,把對那些變量和函數(shù)進行預處理,把他們放在前面了,而變量只放過去變量名,函數(shù)卻都被放過去了。比如我們看下面代碼來理解一下。

console.log(a);
var a = "1";
console.log(a);   //  undefined  1;

而對于函數(shù)

    console.log(a());
    function a() {
        console.log("lol");
    }
    console.log(a());  // lol  lol;

從上面可以看出,雖然變量和函數(shù)都被Hoisting,但是處理的方式卻是不同的,把這個處理方式應用到上面兩種函數(shù)聲明上面,第一種被看過函數(shù),第二種被看作變量,那區(qū)別就很顯然了:第二種函數(shù)的聲明必須在函數(shù)調(diào)用的前面,第一個則無需這樣。我們再來看最后一個例子:

var result1 = add1(1, 1);
function add1(n1, n2) {
    return n1 + n2;
}

var result2 = add2(1,1)
var add2 = function(n1, n2) {
    return n1 + n2;
};
result1   // 2
result2  //  undefined

幫到你了嗎?

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/84336.html

相關文章

  • JavaScript—— 函數(shù)聲明函數(shù)達式有什么不同嗎?

    摘要:函數(shù)聲明和函數(shù)表達式的區(qū)別函數(shù)聲明只能出現(xiàn)在程序或函數(shù)體內(nèi)。所以,在等語義為語句的代碼塊中存在函數(shù)聲明,由于函數(shù)提升特性,會破壞掉原本的語義。 這篇談一下JS函數(shù)聲明與函數(shù)表達式的區(qū)別及要注意的地方: 函數(shù)聲明主要有兩種類型: 函數(shù)聲明 function fn() {}; 函數(shù)表達式 var fn = function () {}; 這兩種函數(shù)創(chuàng)建方式...

    FleyX 評論0 收藏0
  • Javascirpt - 理解執(zhí)行上下文以及作用域鏈

    摘要:本文章記錄本人在深入學習執(zhí)行上下文以及作用域鏈中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。每個執(zhí)行上下文都與一個作用域鏈關聯(lián)在一起。該對象的屬性的值是它被創(chuàng)建時的執(zhí)行上下文對應的作用域鏈。 本文章記錄本人在深入學習執(zhí)行上下文以及作用域鏈中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。 執(zhí)行上下文概念 執(zhí)行上下文,是ECMAScript規(guī)法...

    e10101 評論0 收藏0
  • React 單文件組件解決方案 Omil Omi Snippets

    摘要:屬性我們還可以使用來書寫樣式,它會自動幫我們編譯為格式內(nèi)容語法高亮建議使用配合該擴展支持語法高亮擴展開發(fā)項目,當然你可以把文件當作對待。 Omil 是什么? Omil是一個 webpack 的 loader,它允許你以一種名為單文件組件(SFCs)的格式撰寫 Omi 組件: ${this.data.title} export default class { test(){...

    lowett 評論0 收藏0
  • 前端基礎入門四(JavaScript基礎)

    摘要:學習目標掌握編程的基本思維掌握編程的基本語法我們先來學習基礎,后續(xù)會講解高級。語句基本語法當循環(huán)條件為時,執(zhí)行循環(huán)體,當循環(huán)條件為時,結束循環(huán)?;A語法循環(huán)體循環(huán)條件代碼示例初始化變量循環(huán)體自增循環(huán)條件語句和一般用來解決無法確認次數(shù)的循環(huán)。 學習目標: 掌握編程的基本思維 掌握編程的基本語法 我們先來學習JavaScript基礎,后續(xù)會講解JavaScript高級。 重點內(nèi)容 變...

    王軍 評論0 收藏0
  • 前端基礎入門四(JavaScript基礎)

    摘要:學習目標掌握編程的基本思維掌握編程的基本語法我們先來學習基礎,后續(xù)會講解高級。語句基本語法當循環(huán)條件為時,執(zhí)行循環(huán)體,當循環(huán)條件為時,結束循環(huán)?;A語法循環(huán)體循環(huán)條件代碼示例初始化變量循環(huán)體自增循環(huán)條件語句和一般用來解決無法確認次數(shù)的循環(huán)。 學習目標: 掌握編程的基本思維 掌握編程的基本語法 我們先來學習JavaScript基礎,后續(xù)會講解JavaScript高級。 重點內(nèi)容 變...

    SnaiLiu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<