自定义函数
- 命名函数的定义
- 匿名函数的定义
- 对象函数的定义
- 自调用函数
命名函数的定义
语法:
function funcNAme([paramenters]){ //function是关键字;funcName是函数的名称;paramenters为参数(可有可无),当有多个参数时,中间用逗号隔开
statements; //函数体
[return expression]; //返回值
}
匿名函数的定义
通过表达式的形式来定义一个函数
function([parameters]){
statements; //函数体
[return expression]; //返回值
}; //注意此处的分号不要掉
由于匿名函数没有函数名,所以需要定义一个变量来对匿名函数进行接收,方便调用
如:
var f = function(user){
alert("欢迎"+user+"来到漫步时尚广");
}
var test = f;
f("admin"); //调用了函数f,并传入了一个字符串参数"admin",输出“欢迎admin来到漫步时尚广”。
test("admin");
对象函数的定义
使用Function类
语法:
var funcName = new Function([parameters],statements;};
//Function是关键字,parameters是参数,statements采用字符串格式,也是函数的执行体,其中语句用分号隔开```
如:
```css
var showInfo = nem Function("name"."age","authority","address");+
"return(name+age+authority+address);");
alert(showInfo("guoqy",30,"管理员","青岛"));
自调用函数
函数本身不会自动执行,只有在调用时才会被执行
语法:
(fubction([paremeters]){
statmenses;
[return 表达式];
})([params]);//params为实参,在调用时传入数据。
如:
function selfCall() {
console.log("Hello, World!");
selfCall(); // 调用自身
}
selfCall(); // 调用函数,输出 "Hello, World!" 和 "Hello, World!"
在这个例子中,selfCall 函数在被定义后立即调用自身,因此它会打印出 “Hello, World!” 和 “Hello, World!”。由于自调用函数会无限递归地调用自身,因此需要小心处理,以避免出现栈溢出错误。