javaScript函数使用

函数使用

什么是函数

有一定功能代码体的集合。

函数的封装

传统方式

         function函数名(){}

         该方式声明的函数的有预加载的过程,可以先调用在,再声明函数。

         预加载:代码先把函数的声明放入内存,本质上是先声明再调用。

         函数先调用,后声明的条件是,全部的代码在一个“<script>”标记里面

<script type="text/javascript">

         getInfo();

         function getInfo(){

                   console.log("hello");

         }

</script>

变量使用(匿名函数)

var 函数名=function(){}该方式不具备预加载,必须先声明,再使用

<script type="text/javascript">

         function getInfo(){

                   console.log("hello");

         }

         getInfo();

</script>

 

函数实参形参关系

JavaScript里面实参和形参没有实际上的对应关系

<script type="text/javascript">

         function f1(name,age,add="BeiJing"){

                   console.log("个人信息:"+name+age+add);

         }

         f1("Summer","12","ShangHai");

         f1("Summer");

         f1();

</script>

关键字arguments

利用arguments可以接受参数在函数中传递的信息,实现重载的效果

<script type="text/javascript">

         function f1(){

                   var len=arguments.length;

                   if(len==0){

                            console.log("个人信息");

                   }

                   else if(len==1){

                            console.log("个人信息:name="+arguments[0]);

                   }

                   else if(len==2){

                            console.log("个人信息:name="+arguments[0]+";age="+arguments[1]);

                   }

         }

         f1();

         f1("Spring");

         f1("Summer","12");

</script>

callee关键字

定义:在函数的内部使用,代表当前函数的引用;

function f1(){

xxxx具体执行代码

arguments.callee();   //调用本函数(或者f1())

//都可以使得本函数执行,我们选择callee,其可以降低代码的耦合度。

xxxx执行代码

}

f1();

耦合:一处代码的修改会导致其他代码也要发生改变。

  在程序项目里边要开发低耦合度的代码。

 

<script type="text/javascript">

         //求5的阶乘

         function jiecheng(n){

                   if(n==1){

                            return 1;

                   }else{

                            return n*arguments.callee(n-1);

                   }

         }

         console.log(jiecheng(3));

         console.log(jiecheng(5));

         //这里函数的名改变时,可以明显体会到callee可以降低代码的耦合度

         var jc=jiecheng;

         jiecheng=null;//这里销毁jiecheng避免后面使用

         console.log(jc(4));

</script>

函数的返回值

一个函数执行完毕需要返回具体的信息,使用return关键字返回信息。

在一定层度上看,全部的数据类型(数值、字符串、布尔、对象、null)信息都可以返回

return本身还可以结束函数的执行。

 

在函数内部返回一个函数出来。

在javascript里边,一切都是对象

在一个函数内部,可以声明数值、字符串、布尔、对象等局部变量信息,言外之意就还可以声明函数(函数内部还要嵌套函数),因为函数是对象,并且函数可以被return给返回出来。

 

<script type="text/javascript">

         //求5的阶乘

         function f1(n){

                   var name="tom";

                   var age=13;

                   var iseat=false;

                   function f2(){

                            console.log("I am f2 function");

                   }

                   return f2;//这里返回函数内部的嵌套函数

         }

         var ff=f1();//f1()函数执行完毕的返回值被ff接受

         ff();

</script>

函数的调用

传统方式调用

f1()

匿名函数自调用

(function(){})();

<script type="text/javascript">

         var f1=function(){

                   console.log("spring");

         }

         //var f1="Tom";//覆盖上面的函数

         f1();

         //匿名函数自调用的好处:本身不会被同名变量覆盖

         (function(){

                   console.log("summer");

         })();

         (function(add){

                   console.log("地址:"+add);

         })("上海");

</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值