日期:2014-05-16  浏览次数:20353 次

js学习笔记6
22.||运算符
var a;
alert(a || 'null');  //return 'null'    当a为null或者undefined,rerurn第二个参数  否者就return 第一个参数
alert(1==1 || 2==2); //return true      当1==1为为true,rerurn第二个参数  否者就return 第一个参数

23. P152 8.2.2 arguments 对象  可变长度参数
function argu(){
var len=arguments.length; //获取该函数的传递参数的个数
}
argu(1,50,500,60,46);
arguments不是真正的数组,它是一个对象Arguments的对象,每一个Arguments都带有定义了编码数组元素和length的属性。

arguments 的属性callee
function fact(x){
if(x<=1) return 1;
return x*arguments.callee(x-1);
}

24. 作为数据的函数
给属性 变量赋一个函数
var o=new Object();
o.square=function(x){return x*x;};
要想调用该方法如下:
o.square(16);  //rerurn 256

var arr=new Array();
arr[0]=function(x){ return x*x;};
arr[1]=20;
arr[0](arr[1]); //return 400

var a=fun();
function fun(){return 10}; //return 10
var a=function(x){ return x*x;}; //return function(x){ return x*x;}

25.闭包的嵌入函数 P165