版权声明: 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;//函数名后面千万不能加(),如果加了函数就立即执行,与事件无关