Posted on | by liu
web前端|js教程
JavaScript,Function对象
web前端-js教程
在JavaScript中,函数function就是对象。
买卖宝网站源码下载,Ubuntu添加缺省路由,怎么启动tomcat8,java反反爬虫,常用算法 php,东城seo关键词优化哪家好lzw
JS中没有方法重载校园o2o源码下载,ubuntu完整新手安装,通过命令创建爬虫,php [] 数组,卫辉seo营销lzw
在JavaScript中,没有方法(函数)重载的概念。
实时解码h264 源码,ubuntu启动xp黑屏,输入网址出现tomcat,背部爬虫子,php hs256,seo技术选乐云seolzw
例子:
function add(number)
{
alert(number + 20);
}
function add(number, number1)
{
alert(number + 30);
}
add(10);
网页中弹框显示的是40。
说明虽然第二个方法是两个参数,但是仍然调用了它。
交换两个方法的顺序之后,弹框显示30,可以看出不管参数个数如何,是调用同名的后面的方法。
怎么解释这个现象?
这是因为函数声明实际上是建立了一个对象:
function add(number)
{
alert(number + 20);
}
/*
上面的函数等价于:
var add = function(number)
{
alert(number + 20);
}
*/
function add(number, number1)
{
alert(number + 30);
}
/*
上面的函数等价于:
var add = function(number, number1)
{
alert(number + 30);
}
*/
add(10);
这样add实际指向的是后面的对象,而方法调用的时候赋予的参数将会按顺序赋给方法形式参数,后面没有被赋值的参数就是undefined。
JavaScript的函数调用的时候没有严格的参数个数检查,实参个数小于形参个数是可以的,没有被赋值的形参就是未定义值undefined。
实参个数大于形参个数也是可以的,这样只有前面的实参会被使用,多出来的实参不会被使用。
Function对象
在JavaScript中有一个Function对象,所有自定义的函数都是Function对象类型的。
Function对象接收的所有参数都是字符串类型的,其中最后一个参数就是要执行的函数体,而前面的参数则是函数真正需要接收的参数。
例子:
var add = new Function("number", "number1", "alert(number + number1);");
var add = new Function("number", "alert(number + 20);");
add(10, 30);