JavaScript學習筆記——文法基礎1.4

來源:互聯網
上載者:User

標籤:

一、函數

函數對於任何一種程式設計語言都是非常核心的概念,它的便利之處在於,我們可以通過函數名的隨時調用( 如:functionName() ),就可以執行花括弧中的語句,這樣就可以實現你的想法。換一種說法,函數就像是哈利傳輸速率的通關密語,哈利傳輸速率只需要念一句正確的通關密語,就可以開啟密室的大門,密語就像是函數,哈利傳輸速率在念它的時候就像是在調用這個函數,這個函數的作用同時也是哈利傳輸速率的目的就是開啟密室的大門。

1、定義函數的文法:
function functionName (arguments){    statements;}

其中function是關鍵字,functionsName是函數名,命名方式建議遵循“駝峰式”,圓括弧中的arguments是參數,注意它是複數,參數可能不只一個,花括弧中的statements是執行語句,注意它也是複數,執行語句可能不只有一句。例如,下面這個函數可以用來計算兩個數的和。

function numTotal (num1,num2){    var total = num1 + num2;    document.write(total);}numTotal(5,15); // 20
 2、函數中的參數

JavaScript中函數的參數相對其他程式設計語言較為不同,若在函數中有一個參數,可以傳遞一個、三個甚至不傳遞參數值;你也可以不先設定參數,卻可以進行隱式傳遞。即使如此,但我不認為這是你可以不正確使用參數的理由。

還有一點需要注意的是,為了最佳化函數甚至整個程式碼,我們應當盡量減少函數中的參數個數,時間久了,你會發現,這是一個好的思維方式。

3、變數的範圍

通過var關鍵字定義的變數是局部變數,反之,沒有用var關鍵字而直接定義的變數為全域變數。全域變數將影響全域的結果,所以在使用全域變數的時候一定要謹慎。

1 function myFunction(a,b){2     total = a * b;3     return total;4 }5 var total = 500;6 var num = myFunction(10,10);7 document.write(total);  // 100

第二行中變數total雖然是在函數體內定義的,但是它是全域變數,第五行中的total是局部變數,由於位置的特殊,第五行的值剛賦給局部變數total,第六行就立刻傳參給函數myFunctions(),從而擷取了影響全域total的值。如果第二行的變數total改成局部變數,則最終結果為500,因為函數體返回的total的值本身不會跳出函數體,第六行是將total的值賦值給變數num而不是total。

 

二、對象1、遍曆對象的屬性值

對象是一種特殊的資料類型,包含在對象中的資料,可以通過對象的屬性和方法來訪問。

var person = new Object();person.name = ‘筱雨生‘;person.age = 15;person.height = 175;person.skinColor = ‘yellow‘;for ( var i in person){    document.write(person[i] + ‘<br/>‘);}//通過for-in語句遍曆person對象的屬性值//i包含了person所有的屬性,person[0]就是person.namefunction who(){for ( var i in person){    document.write(person[i] + ‘<br/>‘);    }}who();//通過函數who()來實現遍曆person對象的屬性值
2、內建對象

所謂的內建對象是指JavaScript內部建立好的對象,針對這些對象,JavaScript也建立好了相應的方法和屬性,在你有需求的時候,可以直接調用。

var num = new Array();document.write(num.length); //0document.write(‘<br/>‘); //換行var newNum = 3.1415926;document.write(Math.round(newNum)); // 3

上面這段代碼中,Array、document、Math都屬於內建對象,除此之外,還有許多內建對象供我們使用。

 

JavaScript學習筆記——文法基礎1.4

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.