Maison  >  Article  >  interface Web  >  Quelles sont les fonctions personnalisées de javascript ?

Quelles sont les fonctions personnalisées de javascript ?

青灯夜游
青灯夜游original
2022-03-28 20:07:032336parcourir

自定义函数有:1、命名函数,语法“function 函数名(){}”;2、匿名函数,语法“var 变量名=function(){};”;3、对象函数,语法“var 变量名=Function();”;4、自调函数,将函数的定义与调用一并实现。

Quelles sont les fonctions personnalisées de javascript ?

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

函数是一组延迟动作集,可以通过事件触发或在其他脚本中调用。

JavaScript 中的两类函数:预定义函数、自定义函数

  • 预定义函数

    • 【parseInt / parseFloat】string 转 int/float

    • 【isNaN / isFinite】检测参数是否为 非数字值/无穷数  

    • 【escape / unescape】对字符串 编码/解码

    • 【eval】执行 JavaScript 脚本

    • 【alert / confirm / prompt】三种警示框

  • 自定义函数

    • 【命名函数】function funcName(){}

    • 【匿名函数】var x=function(){};

    • 【对象函数】var x=Function();

    • 【自调函数】(function(){}());

自定义函数

JavaScript 中除了可以使用预定义函数外,还可以使用自定义函数。

在自定义函数时既不需要声明函数的参数类型,也不需要声明函数的返回类型。

JavaScript 目前支持的自定义方式有:

  • 命名函数

  • 匿名函数

  • 对象函数

  • 自调函数

1. 命名函数

  • 命名函数通过 function 关键词进行定义,其后是函数名和括号 ()。 
  • 完成函数的定义后,函数并不会自动执行,只有通过事件或脚本调用时才会执行。
  • 在同一个 3f1c4e4b6b16bbbd69b2ee476dc4f83a2cacc6d41bbb37262a98f745aa00fbf0 标签中,函数的调用可以在函数定义之前,也可以在函数定义之后。
  • 在不同的 3f1c4e4b6b16bbbd69b2ee476dc4f83a2cacc6d41bbb37262a98f745aa00fbf0 标签中,函数的定义必须在函数的调用之前,否则调用无效。

格式如下:

function funcName([parameters]){
  statements;
  [return 表达式;]
}

2. 匿名函数

  • 匿名函数的定义格式与命名函数基本相同,只是没有提供函数的名称,并且结束位置应有分号;  。由于没有函数名字,所以需要使用变量对匿名函数进行接受,方便后面函数的调用。
  • 命名函数对初学者来说,上手容易,但可读性较差。匿名函数使用相对更加方便,可读性更好,当前比叫流行的 JavaScript 框架基本上都采用匿名函数的方式来定义函数。

格式如下:

var x=function([parameters]){
  statements;
  [return 表达式;]
};

3. 对象函数

JavaScript 提供了 Function 类,用于定义函数。格式如下:

var func1=new Function([parameters],statements;);
  • Function 是用来定义函数的关键字,首字母必须大写。
  • parameters 为函数参数,可选。当有多个参数时,参数之间用逗号, 隔开。
  • statements 为函数执行体。当有多条执行语句时,语句之间以分号; 隔开。

4. 自调用函数

一般情况下,函数本身不会自动执行,只有调用时才会被执行。所以 JavaScript 提供了一种自调用函数,将函数的定义与调用一并实现。格式如下:

(function([parameters]){
  statements;
  [return 表达式;]
})([params]);
  • 需要使用小括号() 将自调函数括起来,并以分号; 结束。
  • parameters 为形参,可选。参数之间以逗号, 隔开。
  • params 为实参,在函数调用时传入数据。

代码示例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>test</title>
</head>
<body>
  <input id="btn1" type="button" onclick="button1Event()" value="button1" />
  <input id="btn2" type="button" onclick="button2Event()" value="button2" /><br />
  <input id="a" type="text"/><input id="b" type="text"/><br />
  <input id="sumBtn" type="button" value="x+y" onclick="sum()"/>
  
  <script type="text/javascript">
    function button1Event(){/* 命名函数 */
        alert("命名函数:按钮1被点击!");
    }
    var x=function(){/* 匿名函数 */
        alert("匿名函数:按钮2被点击!");
    }
    button2Event=x;
    
    var y=new Function("a", "b", "return a+b");/* 对象函数 */
    sum=function(){
        var aValue=parseInt(document.getElementById("a").value,10);
        var bValue=parseInt(document.getElementById("b").value,10);
        alert("对象函数:"+y(aValue,bValue));
    }
    
    var tema=2;var temb=2;
    (function(a,b){/* 自调函数 */
        alert("自调函数:"+(a+b));
    })(tema,temb);
  </script>
</body>
</html>

效果演示:

 

 

【相关推荐:javascript视频教程web前端

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn