javascript学习(十三):JS中的对象的定义方法

在JavaScript中,函数(function)就是对象。 
在JavaScript中,没有方法(函数)重载的概念。 
在JavaScript 中有一个Function 对象, 所有自定义的函数都是
Function对象类型的
。Function对象接收的所有参数都是字符串类
型的,其中最后一个参数就是要执行的函数体,而前面的参数则

是函数真正需要接收的参数。 


下面3种定义方法都是等价的

1,直接定义函数,它本质上一个Function对象

 function add(num, num2, num3)
{
alert(num + num2 + num3);
}

2,定义一个add值指向一个Funcion对象
var add = function(num, num2, num3)
{
alert(num + num2 + num3);
}

3,以上两种定义对象的本质是

var add=Function("num", "num2","num3","alert(num + num2 + num3);");


4.另外,JS中还可以如下盯下对象

var add={num:"10",num2:"20"};


参数的传递,以及js中对象重载的模拟


在JavaScript 中,每个函数都有一个隐含的对象arguments,表示

给函数实际传递的参数。 

以下列子会弹出num和num2:

var add = function(num, num2)
{
alert(arguments[0]);

alert(arguments[1])
}

每一个函数对象都有一个length 属性,表示该函数期望接收的参
数格式。它与函数的arguments不同,arguments.length表示函数
实际接收的参数格式。 

一下是JS中对象重载的模拟

function add(num1,num2){

if(1==argumemts.length)

alert(arguments[0]);

else if (2==arguments.lenght)

alert(arguments[1]);

}

下面的列子,依次弹出3,30,2

<html>  	<head>  		<script type="text/javascript"> 		var add=function(num1,num2,num3){ 			alert(num1+num2); 			alert(arguments.length);//弹出实际接收的参数长度 		} 		alert(add.length);//弹出期望接收的参数长度 		add(10,20); 		</script> 		</head> 		</html>


你可能感兴趣的:(javascript学习(十三):JS中的对象的定义方法)