JavaScript函数(三)

举报
AI浩 发表于 2021/12/23 01:29:48 2021/12/23
【摘要】 函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {undefined             return i1 + i2;  //如果不写retur...
  • 函数声明
  1. JavaScript中声明函数的方式:(无需声明返回值类型)

function add(i1, i2) {undefined

            return i1 + i2;  //如果不写return返回的是undefined

        }

int add(int i1,int i2)//C#写法

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

        var r = add(1, 2);

        alert(r);

        r = add("你好", "tom");

        alert(r);

  1. JavaScript中不像C#中那样要求所有路径都有返回值,没有返回值就是undefined。
  2. 易错:自定义函数名不要和js内置、dom内置方法重名,比如selectAll、focus等函数名不要用。//不要与系统函数重名。(在单击事件中调用自己定义的focus方法,有问题。与系统的focus()方法重名了)
  • arguments对象
  1. JavaScript没有方法重载

var x=1;

var y=0;

var z=0;

function add(n){n=n+1;return n}

y=add(x);

function add(n){n=n+3;return n;}

z=add(x);

alert(y+’ ’+z); //执行结果:4 4

结论:同名函数覆盖之前的函数。

  1. 动态为方法传递参数,类似于.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>

  • 匿名函数(函数直接量function literal
  1. 三种写法:

第一种:

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

alert(f1(1,3));

应用:

///document.getElementById(‘btn’).οnclick=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));

  1. 类似于C#中的匿名函数。
  2. 这种匿名函数的用法在jQuery中的非常多。
  3. alert(function(i1, i2) { return i1 + i2; }(10,10));//直接声明一个匿名函数,立即使用。用匿名函数省得定义一个用一次就不用的函数,而且免了命名冲突的问题,js中没有命名空间的概念,因此很容易函数名字冲突。通过例子发现一旦命名冲突以最后声明的为准。尽量减少文件的字节数。

var x=1;

var y=0;

var z=0;

var add=function (n){n=n+1;return n}

y=add(x);

add=function(n){n=n+3;return n;}

z=add(x);

alert(y+’,’+z);//执行结果2,4

 

文章来源: wanghao.blog.csdn.net,作者:AI浩,版权归原作者所有,如需转载,请联系作者。

原文链接:wanghao.blog.csdn.net/article/details/106500229

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。