http://www.w3schools.com/js/js_object_definition.asp
http://javascriptissexy.com/javascript-objects-in-detail/
Javascript對我來說真的太困難了,所以要歸在筆記這一類,還真不好意思。
Javascript幾乎每件事都是物件,什麼啊?PHP的物件是class耶。
- 布林可以是物件 (或者原生資料也被視為物件)
- 數值可以是物件 (或者原生資料也被視為物件)
- 字串可以是物件 (或者原生資料也被視為物件)
- Dates一定是物件
- Maths一定是物件
- 正規表達式一定是物件
- Array一定是物件
- Function一定是物件
- Object一定是物件
//1~3的意思是指, 變數直接給定值, 該變數也會被視為物件. //底下2個寫法是一樣的, 用第一種速度還會快些. var a = ""; var a = new String();
Javascript的物件概念讓我霧煞煞。PHP的物件必須透物類別(class)實例化才能是物件,Javascript因為所有東西原本就是物件,所以不需要有實例化這種觀念,它透過3種方式生成物件。
- Using an Object literal:{}內給定key跟value(稱作named value),這是該物件的properties,method也算是物件的property之一。
var person = { firstName: "John", lastName: "Doe", func: function() {} }; //存取properties的方式 person.firstName; person['firstName']; person[變數];
- Using the Javascript Keyword new:先定義成物件,再設定named value。
var person = new Object(); person.firstName = "John"; person.lastName = "Doe";
- Using an Object Constructor:這個比較像是PHP的類別,先定義一個函數(它是物件阿),當成建構子,其他變數再透過這個函數來初始化成物件,好處在其他物件可以透過這個建構子來產生。還有this,真的跟PHP很像了。
function person(first, last) { this.firstName = first; this.lastName = last; } var myFather = new person("John", "Doe"); console.log(myFather.firstName); //印出John
One thought on “Javascript – Objects”