天天看點

面向對象---初識對象

<!doctype html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>

<code>面向對象---初識對象</code>

&lt;/title&gt;

&lt;script type="text/javascript"&gt;

/*

 *表達一個人的完整資訊

 */

 /*第一種,三個變量之間沒有必然的聯系-----&gt;這個變量屬于誰?

 var name="張三";

 var age = 18;

 var marry=true;

 alert("姓名:"+name+":年齡"+age+":"+marry);

 /*第二種:建立對象的方式

 function Person(){

 }

 var p1 = new Person();

 p1.name="張三";

 p1.age = 18;

 p1.marry= true;

 var p2 = new Person();

 alert(p2.name);

 alert(p1.name+":"+p1.age+":"+p1.marry);

 /*

 1:類的定義

文法:(建議首字母大小)

function Person(){

}

在js中,沒有類的定義語句(class),隻有function,每一個function,我們可以認為它是同名的構造函數

function Person----------&gt;它是Person類的構造函數

》》也可以叫做構造器。

 2:聲明對象(類的執行個體化)

 var 對象 = new 類名(參數1,參數2...);---------&gt;java中 類名 對象名 = new 類名();

 var p1   = new Person();  -------------------&gt;Person  p1 = new Person();

  new-------&gt;開辟相應記憶體空間???????

細節一:

function  Person(){

alert("Hello world");---------------&gt;執行個體化時,它将被執行。

var p1 = new Person();------------&gt;在執行個體化時,直接執行了Person構造函數。

 /*三:對象屬性的使用

文法:

   對象.屬性

   對象['屬性']

在js中,對象屬性是動态添加的。--------------》java中屬性是在類内部定義好的。

對象的屬性可以是任何資料類型,例:string number object;

 /*js中,一切皆對象。       ?_?           java中,萬物皆對象。

資料類型是string,但執行個體化了String.

name 也是一個對象。

var name="張三";

   重要:三個常用的關鍵字

     1:constructor:傳回的是對象的構造器。

     2:typeof: 傳回資料類型。

     3:instanceof:判斷對象是否是某個類的執行個體。

     例:

      function  Person(){

alert("Hello world");

 var p1 = new Person();  

 console.log(p1.constructor);    

 console.log(typeof(p1));

 console.log(p1 instanceof Person);

/*四 js:對象在記憶體中的存在形式

棧:小  運算速度快。(相對于計算機而言)  對象的位址。

堆:大  運算速度慢。                    具體的對象(屬性,函數等)。

》》》》普通的資料類型的值是存儲在棧中(string,number等)。

//儲存的是對象的【位址】。

 var p2 = p1;      p1把對象的位址指派給了p2,指向同一個堆記憶體中的對象

 p2.name="李四";

 console.log(p1.name);

 表示釋放p2所占的棧空間,不會影響到p1----&gt;它隻是在棧中操作,沒有影響到堆。

 p2=null;    

 alert(p1.name);

*/

&lt;/script&gt;

&lt;/head&gt;

&lt;body&gt;

&lt;/body&gt;

&lt;/html&gt;

本文轉自 沉迷學習中 51CTO部落格,原文連結:http://blog.51cto.com/12907581/1926218,如需轉載請自行聯系原作者