函數
函數是由事件驅動的或者當它被調用時執行的可重復使用的代碼塊。
function One(leve , leve){ //code return leve+leve }
注釋:
形參不需要加上類型;
return語句為可選,沒有return語句的函數返回undefined;
局部變量與全局變量
在函數內聲明:局部變量
在函數外聲明:全局變量
向一個新變量名賦值時並沒有使用var:這個變量會變為新的全局變量
函數可以作為值
形式1:
function init(){ alert("One") } window.onload = init;
形式:
window.onload = function(){ alert("One"); }
注:以上兩種方式,都能讓浏覽器提示:One。
對象
JavaScript 中的所有事物都是對象:字符串、數值、數組、函數,此外,JavaScript 允許自定義對象。
對象的引用
將一個對象賦至變量時,這個變量會包含這個對象的一個引用,而不是對象本身。
調用一個函數傳入對象時,實際上是只傳遞了對象引用(拷貝一份引用副本,傳給形參,指向對象,即兩個引用指向了同一對象)
創建對象
var dog = { name : "myDog", weight : , bark :function(){ alert("woof!"); } } dog.bark();
注:每一個屬性(除了最後一個)後都要有“,”。
構造函數構造對象
function Dog(name,weight){ this.name = name; this.weight = weight; this.bark = function(){ if(this.weight > ){ alert(this.name + "Woof!"); }else{ alert(this.name + "Yip!"); } };//這裡也不能忘了分號 } var myDog = new Dog("hello",""); myDog.bark();
PS:
1.什麼是構造函數
構造函數 ,是一種特殊的方法。主要用來在創建對象時初始化對象, 即為對象成員變量賦初始值,總與new運算符一起使用在創建對象的語句中。
這是我查閱相關資料的解釋,解釋的很書本化但意思表達的還是很清楚的。下面請看小例子:
代碼如下:
復制代碼 代碼如下:
var request = new XMLHttpRequest();
這句表達式是我們在使用AJAX技術時創建request對象時經常用到的。那麼我們可以清楚的看到 “new XMLHttpRequest();” 這句話就是一個標准的構造函數!我們 “var” 聲明了一個 “request” 對象,用構造函數 “new XMLHttpRequest();” 來初始化這個 “request” 對象為它賦初始值。所以我們可以知道:“與 ‘new' 運算符一起使用用來創建對象並初始化對象的‘函數'就是構造函數”。
比如我們常見的聲明數組就是標准的構造函數:var array = new Array();
2.什麼是實例化對象
代碼如下:
var request = new XMLHttpRequest();
在面向對象的編程中,通常把用類創建對象的過程稱為實例化。
上面我用紅色和藍色將解釋的重點標了出來。說白了,實例化對象就是創建對象的過程!
那麼什麼是“類”呢?根據字面理解我們可以理解為“類型”。比如“蛋糕”,它是一個甜品的分類,也就是一個類型;那麼起司蛋糕則是甜品中蛋糕這個分類的具體的個體,也就是對象。
我們知道在程序語言中,“類”是抽象的,我們沒有辦法來操作它或使用它的方法和屬性,只有把這個類實例化成為一個對象,我們才可以去調用它的一系列方法和屬性。其實這個也很好理解,在生活中抽象的東西我們沒有辦法看到它或者捕捉到它,那麼自然我們也沒有辦法去使用它的一些功能,只有將抽象的東西具體到一個個,個體或實際的對象,我們才能清楚的理解或者認識它;編程亦是如此。因此,實例化對象就是由抽象到具體的過程,這個過程就叫實例化。