JS基础知识点(3)——函数表达式、匿名函数和事件处理函数详解

版权声明: https://blog.csdn.net/weixin_41849462/article/details/81117708

 

1.函数表达式

  定义函数有两种方式:一种是函数声明,另一种是函数表达式;

 正常定义一个函数:

function  函数名(参数){函数体}

function functionName(arg) {
            //函数体
        }

正常定义的函数调用的时候不分前后顺数(即:可在函数定义之前调用)。

函数表达式定义:

var 函数名= function(参数){函数体}

函数表达式:将函数赋给变量,函数就要遵循变量不可前置的规则,必须先定义函数,然后调用。

这种方式创建的函数不需要函数名,因此又叫匿名函数

下面实例代码段会报错,因为在调用函数时函数还没有定义:

functionname(); //错误,还未赋值,函数不存在
        var functionname = function() {
            console.log("hello world");
        }
        

2.匿名函数

顾名思义,匿名函数即没有名字的函数。

其定义方法为:

(function(arg) {
            //函数体
        })();

当希望匿名函数直接执行时,我们可以这样用:

// 定义并使用一个匿名函数来打印从1到10的整数
(function (n) {
    for (var i = 1; i <= n; i++)
        console.log(i);
})(10);

如果我们想让匿名函数在需要的时候被调用,那么就可以用函数表达式来写:

// 定义一个匿名函数并将它赋给变量printN
var printN = function (n) {
    for (var i = 1; i <= n; i++)
        console.log(i);
};
 
// 通过变量printN来再次使用该匿名函数
printN(10);

3.事件处理函数

使用方法:

1.直接用

var input = document.getElementById("input");
        input.onmouseover=function(){
            //函数体
        }

2.用函数名调用:这里要注意函数名后面不能加括号

var input = document.getElementById("input");
        var functionname = function(){
            //函数体
        }
        input.onmouseover=functionname;//函数名后面千万不能加(),如果加了函数就立即执行,与事件无关

猜你喜欢

转载自blog.csdn.net/weixin_41849462/article/details/81117708