javascript 面向對象

1.我個人認爲學習前一定要搞清楚一點概念,還要問問這樣做有什麼好處?

2.在javascript看來,對象就是一系列的鍵-值對的對象,其中可以把這些鍵-值對當做屬性引用,如: person.name

3.創建一個對象var obj = new  Object()或者var obj = {}, var person = {name:"dexter",age:23,sex:"男"}

4.屬性引用的方法alert(person.name)或者alert(person["name"]),區別[]獲取屬性的功能更加強大,因爲[]裏面可以是表達式

5.循環對象中的屬性 for(var props in person){valString += person[props];}

6.刪除一個屬性 delete person.name

7.js對象也有構造函數

8.創建數據可以用[] 或者Array()構造函數new一個

var array1 = [] //創建空數組

var array2 = new Array()  //創建空數組

array1 = [1 , "s" , [3,4],{name1:"name1"}]

alert(array1[2][1]) //4

alert(array1[9]) //undefined

9.數組引用alert(array1[1]) //s,可以用delete刪除數組一個屬性,效果使到相應索引位置上的屬性變爲undifined,可以設置數組的屬性length,大於length-1的屬性將被刪除。

10.javascript函數

function f(x){....}

使用!操作符驗證參數

function f(x){

if(!x){

alert("參數x不能爲空");

return false;

}

}

11.帶默認參數的函數

function ff(person){

var defaultPeson = {name:"name1",age:23};

person = person||defaultPerson;

}

 

12.對象的Arguments屬性,function myargs(){ alert(arguments.length) ; alert(arguments[0])}

myargs(); //0  ----undefined

myargs("1" , [1,2]) // 2 ----- 1

 

13.對象Arguments對象有一個callee屬性,表示了當前arguments對象所在的方法,可以使用它來實現匿名函數的內部遞歸調用

function(x){

   if(x<=1)return 1;

return x* argments.callee(x-1);

}

 

14.對象裏面的方法

var obj = {f0:function(){alert("this is a method in an object")}}

function f1(){alert("f1")}

obj.f1 = f1 ;  //爲對象添加方法

 

15.方法內部用關鍵詞應用當前對象

var obj = {name:"name" , sex:"female"}

obj.print = function(){alert(this.name + "_" + this["sex"])};

 

16.一個面向對象的例子

var Person = {name:"dexter",setName:function(name){this.name=name}//setter,printName:function(){alert(this.name)}}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章