西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁(yè)編程開(kāi)發(fā)javascript|JQuery → javascript中函數(shù)語(yǔ)句和表達(dá)式定義函數(shù)的區(qū)別

javascript中函數(shù)語(yǔ)句和表達(dá)式定義函數(shù)的區(qū)別

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/3/6 11:46:05字體大小:A-A+

作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: 函數(shù)語(yǔ)句

  • 類(lèi)型:音頻處理大。1M語(yǔ)言:中文 評(píng)分:5.3
  • 標(biāo)簽:
立即下載

JavaScript 語(yǔ)句
JavaScript 語(yǔ)句向?yàn)g覽器發(fā)出的命令。語(yǔ)句的作用是告訴瀏覽器該做什么。
下面的 JavaScript 語(yǔ)句向 id="demo" 的 HTML 元素輸出文本 "Hello World":
document.getElementById("demo").innerHTML="Hello World";

分號(hào);
分號(hào)用于分隔 JavaScript 語(yǔ)句。
通常我們?cè)诿織l可執(zhí)行的語(yǔ)句結(jié)尾添加分號(hào)。
使用分號(hào)的另一用處是在一行中編寫(xiě)多條語(yǔ)句。
提示:您也可能看到不帶有分號(hào)的案例。
在 JavaScript 中,用分號(hào)來(lái)結(jié)束語(yǔ)句是可選的。

JavaScript 代碼
JavaScript 代碼(或者只有 JavaScript)是 JavaScript 語(yǔ)句的序列。
瀏覽器會(huì)按照編寫(xiě)順序來(lái)執(zhí)行每條語(yǔ)句。
本例將操作兩個(gè) HTML 元素:
實(shí)例
document.getElementById("demo").innerHTML="Hello World";
document.getElementById("myDIV").innerHTML="How are you?";

JavaScript 代碼塊
JavaScript 語(yǔ)句通過(guò)代碼塊的形式進(jìn)行組合。
塊由左花括號(hào)開(kāi)始,由右花括號(hào)結(jié)束。
塊的作用是使語(yǔ)句序列一起執(zhí)行。

JavaScript 函數(shù)是將語(yǔ)句組合在塊中的典型例子。
下面的例子將運(yùn)行可操作兩個(gè) HTML 元素的函數(shù):
實(shí)例
function myFunction()
{
document.getElementById("demo").innerHTML="Hello World";
document.getElementById("myDIV").innerHTML="How are you?";
}
您將在稍后的章節(jié)學(xué)到更多有關(guān)函數(shù)的知識(shí)。

JavaScript 對(duì)大小寫(xiě)敏感。
JavaScript 對(duì)大小寫(xiě)是敏感的。
當(dāng)編寫(xiě) JavaScript 語(yǔ)句時(shí),請(qǐng)留意是否關(guān)閉大小寫(xiě)切換鍵。
函數(shù) getElementById 與 getElementbyID 是不同的。
同樣,變量 myVariable 與 MyVariable 也是不同的。

空格
JavaScript 會(huì)忽略多余的空格。您可以向腳本添加空格,來(lái)提高其可讀性。下面的兩行代碼是等效的:
var name="Hello";
var name = "Hello";

對(duì)代碼行進(jìn)行折行
您可以在文本字符串中使用反斜杠對(duì)代碼行進(jìn)行換行。下面的例子會(huì)正確地顯示:
document.write("Hello \
World!");
不過(guò),您不能像這樣折行:
document.write \
("Hello World!");

使用javascript多年,寫(xiě)過(guò)無(wú)數(shù)函數(shù),今天卻才真正弄明白兩種函數(shù)定義的區(qū)別,真是悲劇,寫(xiě)下這個(gè)隨筆, 以時(shí)刻提醒自己要打好基礎(chǔ) , 一大把年紀(jì)了, 不能繼續(xù)懵懵懂懂了。

通常我們會(huì)看到以下兩種定義函數(shù)的方式: 

// 函數(shù)語(yǔ)句
function fn(str)
{
  console.log(str);
};

// 表達(dá)式定義
var fnx=function(str)
{
  console.log(str+ ' from fnx');
};

以前都是憑借自己手指的感覺(jué)隨心所欲使用兩者 -_- || ,今天看了js基礎(chǔ), 總算是解決了心中對(duì)他們的困惑:

兩種方式都創(chuàng)建了新的函數(shù)對(duì)象, 但函數(shù)聲明語(yǔ)句的函數(shù)名是一個(gè)變量名, 變量指向函數(shù)對(duì)象, 和通過(guò)var聲明變量一樣,函數(shù)定義語(yǔ)句中的函數(shù)被顯示地提前到了腳本或函數(shù)的頂部, 因此它們?cè)谡麄(gè)腳本和函數(shù)內(nèi)都是可見(jiàn)的,但是使用var 表達(dá)式定義函數(shù), 只有變量聲明提前了,變量初始化代碼仍然在原來(lái)的位置, 用函數(shù)語(yǔ)句創(chuàng)建的函數(shù), 函數(shù)名稱和函數(shù)體均被提前,所以我們可以在聲明它之前就使用它。 

代碼例子如下:

    console.log(typeof(fn)); // function
    fn('abc'); // abc


    console.log(typeof(fnx)); // undefined

    if(fnx)
        fnx('abc');  // will not execute
    else
        console.log('fnx is undefined'); // fnx is undefined

    // 函數(shù)語(yǔ)句
    function fn(str)
    {
        console.log(str);
    };

    // 表達(dá)式定義
    var fnx=function(str)
    {
        console.log(str+ ' from fnx');
    };

代碼很簡(jiǎn)單, 希望和我之前一樣沒(méi)有弄明白兩者區(qū)別的同學(xué)能有所收獲。 

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)
    推薦文章

    沒(méi)有數(shù)據(jù)