饑人谷_李棟
1.object
2.array
3.function
一、object
- 遍歷:
for(var key in object){
console.log(key)//key=='a'
console.log(object.[key])//[key]==['a']
}
注意,遍歷一個(gè)對(duì)象的時(shí)候
object.key==object['key']表示的是object里面一個(gè)叫key的屬性名
而object[key]表示 的是動(dòng)態(tài)的key key是一個(gè)抽象的概念代表屬性名
意思是把object對(duì)象里的屬性名打出來(lái)
二、array
var arr-=['a','b']
arr[1]=hello
console.log(1 in arr)//這里的1是arr[1]里的1代表 索引
ps:第一句可以這么理解(不等于)
var arrObject={
0:'a',
1:'b'
}
- 遍歷:
var for(key in arr){
console.log(key)
console.log(a[key])
}//good for Object
或者
for(var i=0;i<a.length;i++){
console.log(i)
console.log(a[i])
}//good for Array
for(var i=a.length-1;i>=0; i--){
console.log(i)
console.log(a[i])
}//倒序
-
方法:
concat([數(shù)組]) 不改變?cè)瓉?lái)array ->添加
pop(參數(shù)1,參數(shù)2,參數(shù)3..) 改變?cè)璦rray ->從后面刪除
push(參數(shù)1,參數(shù)2,參數(shù)3..) 改變?cè)璦rray ->從后面添加
reverse() ->倒序
slice(開始序號(hào),結(jié)束序號(hào)(不包含)) ->剪切
未完...
三、function
需要注意的幾點(diǎn):
JSON 是 JS 對(duì)象的子集
var a =2 在function里 就不是全局變量
數(shù)組、函數(shù)是一個(gè)特殊的對(duì)象
函數(shù)是可以被調(diào)用的object
var f=function(a,b){xx}//函數(shù)表達(dá)式
var function d(c,d){xx}//函數(shù)聲明
f(1,2)
d(1,2)
實(shí)際參數(shù)->1,2 形式參數(shù)->a,b c,d
注意,函數(shù)表達(dá)式和函數(shù)聲明的區(qū)別 函數(shù)聲明可以 變量提升
把匿名函數(shù)里面加個(gè)名字變成具名函數(shù) ->只是在后面的{}里面有效果
聲明變量一定要加 var
確定傳的東西是不是Function,如下;
if(!(f instanceof Function)){
console.log('f is not a function')
return
}//注意,(!...)
- 函數(shù)聲明先不執(zhí)行 當(dāng)看到函數(shù)調(diào)用的時(shí)候 執(zhí)行 并把調(diào)用的值賦給函數(shù)
函數(shù)能獨(dú)立出一個(gè)作用域
函數(shù)里面可以訪問函數(shù)外面(函數(shù)定義的外面不是執(zhí)行的外面)
自執(zhí)行函數(shù): 在匿名函數(shù)聲明 前加需要求值的符號(hào)(?。? 后加()