饥人谷_李栋
1.object
2.array
3.function
一、object
- 遍历:
for(var key in object){
console.log(key)//key=='a'
console.log(object.[key])//[key]==['a']
}
注意,遍历一个对象的时候
object.key==object['key']表示的是object里面一个叫key的属性名
而object[key]表示 的是动态的key key是一个抽象的概念代表属性名
意思是把object对象里的属性名打出来
二、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([数组]) 不改变原来array ->添加
pop(参数1,参数2,参数3..) 改变原array ->从后面删除
push(参数1,参数2,参数3..) 改变原array ->从后面添加
reverse() ->倒序
slice(开始序号,结束序号(不包含)) ->剪切
未完...
三、function
需要注意的几点:
-
JSON 是 JS 对象的子集
-
var a =2 在function里 就不是全局变量
-
数组、函数是一个特殊的对象
-
函数是可以被调用的object
var f=function(a,b){xx}//函数表达式
var function d(c,d){xx}//函数声明
f(1,2)
d(1,2)
实际参数->1,2 形式参数->a,b c,d
注意,函数表达式和函数声明的区别 函数声明可以 变量提升
-
把匿名函数里面加个名字变成具名函数 ->只是在后面的{}里面有效果
-
声明变量一定要加 var
确定传的东西是不是Function,如下;
if(!(f instanceof Function)){
console.log('f is not a function')
return
}//注意,(!...)
- 函数声明先不执行 当看到函数调用的时候 执行 并把调用的值赋给函数
-
函数能独立出一个作用域
-
函数里面可以访问函数外面(函数定义的外面不是执行的外面)
-
自执行函数: 在匿名函数声明 前加需要求值的符号(!) 后加()
网友评论