首頁 >web前端 >js教程 >詳解JavaScript函數物件_javascript技巧

詳解JavaScript函數物件_javascript技巧

WBOY
WBOY原創
2016-05-16 15:32:161041瀏覽

函數

函數是由事件驅動的或是當它被呼叫時執行的可重複使用的程式碼區塊。

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();

  在物件導向的程式設計中,通常把用類別建立物件的過程稱為實例化。

  上面我用紅色和藍色將解釋的重點標了出來。說穿了,實例化物件就是創建物件的過程!

  那麼什麼是「類」呢?根據字面理解我們可以理解為「類型」。例如“蛋糕”,它是一個甜點的分類,也就是一個類型;那麼芝士蛋糕則是甜點中蛋糕這個分類的具體的個體,也就是對象。

  我們知道在程式語言中,「類別」是抽象的,我們沒有辦法來操作它或使用它的方法和屬性,只有把這個類別實例化成為一個對象,我們才可以去呼叫它的一系列方法和屬性。其實這個也很好理解,在生活中抽象的東西我們沒有辦法看到它或捕捉到它,那麼自然我們也沒有辦法去使用它的一些功能,只有將抽象的東西具體到一個個,個體或實際的對象,我們才能清楚的理解或認識它;程式設計亦是如此。因此,實例化物件就是由抽像到具體的過程,這個過程就叫做實例化。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn