讀 YUI ,EXT等源碼的時(shí)候看JS天旋地轉(zhuǎn),那可不是51JS上那種挪挪位置就能理解的,此刻如果沒有JavaScrip的基礎(chǔ),更是像沒有星光的黑夜…….
自以為覺得Js對(duì)象是很好理解的東東,然而真實(shí)踐起來卻一片糊涂。
通過查閱經(jīng)典書籍《Professional JavaScript For Web Developers》稍微有些理解了
JavaScript的基本類型
原始類型如: Undefined Null Boolean Number String 等 用 typeof方法能辨別之
引用類型如: Object Function Array Boolean Number String Date等,用insanceof方法辨別之
嚴(yán)格來講,JavaScript沒有對(duì)象(Object),但是由于和OO術(shù)語對(duì)應(yīng),所以也稱之為對(duì)象。所以Array,Function,基本類型,引用類型,函數(shù),以及函數(shù)的屬性 等等這些都是對(duì)象。
而對(duì)象分類,則可以分為內(nèi)置對(duì)象(Built-in Object) 和宿主對(duì)象(host object)。
內(nèi)置對(duì)象如 Math,Data啊。
宿主對(duì)象則如 BOM,DOM之類.
重新回顧了下這些基本概念之后,在做簡單實(shí)踐就有些理解了。
因此對(duì)象的使用,創(chuàng)建方式不盡相同,最簡單的歸類如下:
1 基本創(chuàng)建方式
function Class() {
window.alert("Hello Class!");
}
var clz= new Class();
2 訪問對(duì)象成員
function Class(){
this.x = " this is x";
this.y = "this is y";
this.z = viewXY;
function viewXY(){
alert("x+","+y);
}
}
var clz= new Class();
clz.viewXY();
3 對(duì)象繼承
function Parent() {
this.type= "human!";
}
function Child(){
this.age = "26";
this.sex ="male";
this.say= myInfo;
function myInfo(msg){
alert(msg+this.type+ ","+this.age+","+this.sex);
}
}
Child.prototype = new Parent();
var clild = new Child();
clild.say("I'm ");
4.重用原對(duì)象 (書上的例子太好了,搬來了)
Funcion.prototype.toString() = function(){
return "Function code hidden";
}
function sayHi(){
alert("hi");
}
alert(sayHi.toString());