JavaScript函数、arguments对象、匿名函数
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 811
函数声明JavaScript中声明函数的方式:(无需声明返回值类型)functionadd(i1,i2){returni1+i2//如果不写return返回的是undefined}intadd(in

函数声明

JavaScript中声明函数的方式:(无需声明返回值类型)

function add(i1, i2) {
return i1 + i2; //如果不写return返回的是undefined
}
int add(int i1,int i2);//C#写法

不需要声明返回值类型、参数类型。函数定义以function开头。

//调用上面的add方法 
var r = add(1, 2);
alert(r);
r = add("你好", "tom");
alert(r);

JavaScript中不像C#中那样要求所有路径都有返回值,没有返回值就是undefined。

易错:自定义函数名不要和js内置、dom内置方法重名,比如selectAll、focus等函数名不要用。不要与系统函数重名。

 

arguments对象

JavaScript中没有方法重载!

动态为方法传递参数,类似于.net中的params关键字作用

<script type="text/javascript">
function myFunc() {
for (var i = 0; i < arguments.length; i++) {
document.write(arguments[i]);
document.write('<br/>');
}
}
myFunc('张三', 18, '李四', 19);
</script>

C#中方法的params可变参数

 static void SayHi(string str, params string[] names)
{
StringBuilder sb = new StringBuilder(str);
foreach (string s in names)
{
sb.Append(s);
}
Console.WriteLine(sb.ToString());
}

 

匿名函数

第一种:

var f1=function(p1,p2){ return p1+p2; }//将函数赋值给一个变量
alert(f1(1,3));

应用:

document.getElementById(‘btn’).onclick=function(){} 

第二种:

(function(p1,p2){alert(p1+p2);})(20,30);

第三种:

var m1=new Function(“p1”,”p2”,”p3”,”return p1+p2+p3”);
alert(m1(1,2,3));

jQuery中大量用到了匿名函数,类似于C#中的匿名函数。这种匿名函数的用法在jQuery中的非常多。

alert(function(i1, i2) { return i1 + i2; }(10,10));//直接声明一个匿名函数,立即使用。

用匿名函数省得定义一个用一次就不用的函数,而且免了命名冲突的问题,js中没有命名空间的概念,因此很容易函数名字冲突。一旦命名冲突以最后声明的为准。匿名函数还可以减少文件的字节数。

 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2