分享

JavaScript函数声明和调用、有参函数和无参函数、返回值

 nxhujiee 2018-04-10

JavaScript函数声明和调用、有参函数和无参函数、返回值

原创 2016年10月13日 19:10:28

<前言!>JavaScript变量的声明     <变量是存储数据的容器>

js中变量的声明方式有两种  

var 是声明变量的关键字 <下面是有关键字和无关键字的区别>

1、显式声明 

[html] view plain copy
  1. <span style="font-size:18px;">var nSom=886;</span>  

2、隐式声明

[html] view plain copy
  1. <span style="font-size:18px;">nSom=884;</span>  
变量声明通常我使用匈牙利命名法:类型前缀+首字母大写 简单易懂      <详细变量声明请看博文:javaScript数据类型、变量命名规范>

s:表示字符串.n:表示数字.b:表示逻辑. a:表示数组.r:表示正则表达式.f:表示函数 .o:表示对象 .g:表示全局变量.


1、JavaScript的函数声明   <个人理解:函数是由事件驱动的或当函数调用时执行的可重复利用的代码块>

函数的声明一

[html] view plain copy
  1. function css(obj, name, value){  
  2.     if(arguments.length==2) //获取  
  3.     {  
  4.         return obj.style[name];  
  5.     }  
  6.     else  
  7.     {  
  8.         obj.style[name]=value;  
  9.     }  
  10. }  

这样的方法声明一个函数  而第二种方法更像是表达式一样声明一个函数

函数的声明二

[html] view plain copy
  1. var css=function(obj, name, value){  
  2.     if(arguments.length==2) //获取  
  3.     {  
  4.         return obj.style[name];  
  5.     }  
  6.     else  
  7.     {  
  8.         obj.style[name]=value;  
  9.     }  
  10. }  
两种函数声明办法的差别 JavaScript的编译器对函数声明与函数表达式并不是统一对待的, 对于第一种方法明显是会优先编译. 确保函数在调用之前已经被全部解析了,而第二种类似函数表达式的声明函数的方法,只有当函数中的代码块被调用才会进行解析<每次调用都需要编译解析>,so在通常的使用中,我们是用第一种函数的声明多一点<如果以函数声明的形式去定义这两种定义的函数时,第二种会报错,原因是第二种写法不支持将调用语句写在函数声明之前>.

2、JavaScript函数的调用   <声明了就要调用才会执行,通俗一点就是声明了不调用,那你声明干啥>

代码如下:

[html] view plain copy
  1. <script type="text/javascript">   
  2.   function sum(a,b) { //函数声明办法一  
  3.     return a+b;       //返回  
  4.   }   
  5.    alert(sum(8,6));//函数的调用  
  6. t;span style="white-space:pre">  </span></script>  

这是简单的函数声明后调用,声明函数后 只有当调用了才会执行,不然就会和无用的代码块一样.<除非加入自执行符号!>

3、JavaScript有参函数与无参函数  <前言:参数用于将数据传递到函数内部,有了参数之后函数能进行封装,更好的进行二次使用.>

个人理解欢迎指正:无参函数:是针对某个局部变量 只能一次使用,而不进行封装的函数, 通常只执行一次

 有参函数:利于封装,能多次使用,很方便,所以<能够整理出有参函数的办法时尽量整理,达到多次循环使用>

下面是代码:

[html] view plain copy
  1. function aa(b,c){//<函数的声明aa> 当aa(b,c)是有参函数  当aa()是无函数   b,c是形参   
  2.     alert(b+c);  //b带进去,是形参  
  3. }  
  4. window.onload=function (){  
  5.     aa('4','8')  // 实参/常量  实参传给形参 <函数的调用>//aa('4','8')里面的叫做实参,真实的数值,常量。  
  6. };  
  7. //函数的传参:实参给形参的过程  
在例子中我们声明了有参函数aa 当有参函数aa后面的()括号里没有参数的时候,那时aa就是无参函数, 代码中的b和c作为一个形参整理一下:函数首部的小括号没有参数就是无参函数,参数的作用是可以代替多次调用函数时,函数中部分需要改变的值. 参数分为实参和形参.

下面说一下什么是形参什么是实参

1、形参 解析:全称"形式参数",用于定义方法的时候使用的参数,目的用来接收调用该方法时传递的参数当只有在被调用时才会分配内存单元,在调用结束,即刻释放所分配的内存单元因此,只在方法内才有效<通常我们使用在函数中多一丢丢>

2、实参 解析:全称"实际参数",用于调用时传递给方法的参数,即传递给被调用方法的值,预先创建并赋予确定值,也可将实参看做常量

3、实参传递给形参的传值调用传值调用中,传递的参数类型是为常用的基本数据类型,参数视为形参,这里形参是可看做是未赋值的局部变量.

4、引用调用:引用调用中,在Java中,传递的参数类型是为引用数据类型,参数视为实参。在调用机制里,将实参的地址传递给了形参,形参上的改变实际上都发生在实参上,可以视为全局变量。

好,我们继续

下面是一段实参传参给形参的例子

[html] view plain copy
  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="UTF-8">  
  5.         <title>传参</title>  
  6.         <style type="text/css">  
  7.             body{padding: 50px;}  
  8.             .box{width: 200px;height: 200px;background: red;}  
  9.         </style>  
  10.         <script type="text/javascript">  
  11. <span style="white-space:pre">            </span>//函数的传参:实参给形参的过程  
  12.             //传参的例子  
  13.             function bianda(wd,w400){ //形参  
  14.                 var ob=document.getElementById('one');  
  15.                 ob.style[wd]=w400;  
  16.                 ob.style.height='400px';  
  17.                 ob.style.backgroundColor='green';  
  18.             }  
  19.             function bianx(wd,w200){ //形参  
  20.                 var ob=document.getElementById('one');  
  21.                 ob.style[wd]=w200;  
  22.                 ob.style.height='200px';  
  23.                 ob.style.backgroundColor='red';  
  24.             }  
  25.         </script>  
  26.     </head>  
  27.     <body>                                        <!--实参-->  
  28.         <div class="box" id="one" onmouseover="bianda('width','400px')" onmouseout="bianx('width','200px')"></div>  
  29.     </body>  
  30. </html>  
一般我们可以这样理解传参:实参给形参的过程.

4、JavaScript返回值   <除非必要的传回,不然可有可无>

js中 return 是返回值它能返回控制以及返回函数处理的结果
首先说返回处理 语法: return 表达式; 语句结束函数执行,之前调用的函数,而且把表达式的值作为函数处理过的结果
接着是返回控制 语法: return; <返回控制是没有函数结果的>
在有些情况下,为事件处理函数返回false,可以防止默认的事件行为
return false就相当于终止符阻止事件的运行 而return true 就相当于执行符。 
在js中return false的作用一般是用来取消默认动作的。比如你单击一个链接除了触发你的 
onclick事件(如果你指定的话)以外还要触发一个默认事件就是执行页面的跳转。所以如果你想取消对象的默认动作就可以return false。
首先在js中,我们常用return false来阻止提交表单或者继续执行下面的代码,通俗的来说就是阻止执行默认的行为。
return false 只在当前函数有效,不会影响其他外部函数的执行。
retrun true; 返回正确的处理结果。
return false;分会错误的处理结果,终止处理。
return;把控制权返回给页面。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多