- arguments ,可以用来实现传递参数的个数
还有arguments.callee ; caller等一些函数自带属性
当然谈到arguments , 自然也是离不开 apply 的联合使用
但此时的arguments是一个伪数组; 可以实现类似继承的效果;
function fun(){
console.log(arguments.length);//获取的函数传入的参数;
var sum=0;
for(i=0;i<arguments.length;i++){
sum+=arguments[i];
}
console.log(sum);
}
fun(1,2);
-
一旦使用了return 下面的代码是不会执行的
-
对于json的对象,要实现遍历的话,不能使用for 循环来进行,
因为for 循环只能用于有序数值的遍历,而json是一个无序的数组,
故 只能使用for in 循环, 来进行遍历;
例
var a={
"name":"sb",
"age":"3",
"gender":"男"
}
for(i in a){
console.log(i+":");
console.log(a[i]);
}
name:
sb
age:
3
gender:
男
对于这里我还有一点需要申明的是:
这里为什么使用 a[i]
而不使用 a,i ; 原因是对象中并没有i 这个属性,而是for in 所传入的
若这里使用 a.i 则会 显示
undefined
总结一下
对象一般可以使用两种方法来表示
例如上述例子若只需访问一个变量可以使用
在使用[ ] 进行访问的时候, 由于访问的是对象的属性 ,所以 一定是字符串的类型,需要添加引号
使用.
可以说十分的简便, 但是使用[ ]
, 可以达到一些.
无法完成的属性访问
这两种访问对象属性的方法没有任何区别。
但方括号语法的主要优点是可以通过变量 来访问属性
console.log(a.name);
console.log(a["name"]);
j结果如下
sb
sb
同时我们也可以看到对于一个对象若使用 obj,abc;
控制台输出的始终为undefined ;
这是为什么呢, 因为此时的object 一旦使用 .
则会相当于属性已经申明;
只是还未对其赋值;