zoukankan      html  css  js  c++  java
  • JavaScript函数、arguments对象、匿名函数

    函数声明

    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中没有命名空间的概念,因此很容易函数名字冲突。一旦命名冲突以最后声明的为准。匿名函数还可以减少文件的字节数。

  • 相关阅读:
    滑动条使用
    jquery日历练习
    JQuery 教程
    JS获取各种宽度、高度的简单介绍
    如何获取元素位置
    DOM练习
    DOM
    函数
    假期练习
    Uva 253 Cube painting
  • 原文地址:https://www.cnblogs.com/jesselzj/p/2334014.html
Copyright © 2011-2022 走看看