1.4JavaScript自定义函数

什么是函数?函数就是完成某个功能或需要重复执行的代码块,只在被调用时才会执行,函数代码可避免在页面载入时就被自动执行。
JavaScript以事件驱动方式响应用户的操作,当用户对页面操作时则会引发相应事件并调用函数对用户作出响应。
JavaScript将函数分为三类

  • 独立函数
  • 匿名函数
  • 内嵌函数

独立函数
1.函数的定义。
function 函数名( [参数变量1, 参数变量2, …] )
{
脚本代码语句块……;
[ return 返回值表达式 ]
}
独立函数一般在部分或在.js外部文件中单独定义。
函数必须用function关键字定义,函数名必须符合标识符的构成规则,参数变量是属于该函数内部的局部变量,负责接收调用函数时传递的数据,也规定了调用函数所必须提供的数据。
注意:在函数中可直接使用JavaScript内置对象,如用document.getElementById(“id”)获取指定的标记对象。
2.函数的返回值
带表达式的return语句,可以将表达式的值作为调用函数产生的结果数据返回给调用者,省略表达式的return语句仅表示立即停止函数代码的执行,结束函数调用。
注意:对于有默认操作的标记在调用事件函数时,可使用 return false;终止元素的默认操作。例如单击submit提交按钮时的默认操作是向服务器提交表单数据,当调用submit事件函数时如果函数没有返回值或返回true; 则继续执行默认操作向服务器提交表单,如果函数返回false则终止不向服务器提交表单。
若a标记单击事件函数false则会终止超链接指定页面。
3.函数的调用
独立函数可以被其他函数任意调用,也可被页面中任何元素任何事件任意多次的调用,调用时只需使用函数名并按定义的参数变量传递数据即可。如果被调函数有返回值,则可函数调用看作是一个数据,即可用变量保存,也可在表达式中直接使用。
调用函数的格式: 函数名( [表达式1, 表达式2, …] );
如果被调函数有返回值,则可以将函数调用看作是一个数据,即可用变量保存,也可在表达式中直接使用。
例如:
var 变量=函数名( [表达式1, 表达式2, …] );
var 变量=a+b*函数名( [表达式1, 表达式2, …] );
在页面中通过某个标记的事件属性调用函数的格式:
<标记名 事件属性名 = “函数名( [表达式1, 表达式2, …] )” />
若事件函数返回false将终止该标记元素的默认操作。
4.函数的内置arguments数组
JavaScript的函数在每次被调用时都会自动生成一个名字为arguments的局部数组,以接收调用者传递过来的所有数据,因此定义函数时即使不指定参数变量,调用时也可以传递任意多个数据,通过arguments数组元素即可逐一获取使用这些数据。

function test(){
     var i;
     for(i=0; i<arguments.length; i++) { document.write(arguments[i]+"<br />"); }
     //或:for (i in arguments)  { document.write(arguments[i]+"<br />"); }
          ……} 

内嵌函数
JavaScript的函数可以嵌套定义,即在一个函数内部还可以定义独立的内嵌函数(内部函数),但内嵌函数只能在包含它的独立函数内部调用。
内嵌函数可以直接使用其外部函数的所有变量,而不需要作为参数传递,因此函数内需要多次重复使用的代码块尤其适合定义为内嵌函数,在任意位置任意多次调用而不必传递参数。

function a(){
     var i=0;
     function b(){
            alert(++i);
      }
      return b;
}

匿名函数 和 箭头函数(ES6标准新增)
JavaScript允许在需要调用函数的位置直接定义并调用匿名函数,一般仅适用于为屏蔽全局变量、在页面加载时需要记忆的事件函数。
匿名函数定义及调用格式:事件属性名称 = function( [参数] ) { 脚本代码语句块; }
箭头函数定义及调用格式:事件属性名称 = ( [参数] )=> { 脚本代码语句块; }
回调函数(JavaScript的高级操作中使用频繁,特别是在异步操作中)

回调函数:如果某个函数作为一个参数传到另一个主函数里面,当那一个主函数执行完之后,再执行传进去的作为参数的函数。在这个过程中,该参数化的函数就叫做回调函数。换句话说,也就是被作为参数传递到另一个函数(主函数)里面的那个函数就叫做回调函数。

<script type="text/javascript">
      function test(value){ //这是回调函数!!!!
             alert(value);
      }
      function main(func, value){  //这是主函数!!!!

             alert("我是主函数");
             func(value);      
      }
      main(test,"我是回调函数");
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值