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)}}