<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
/*
* 函数
* 函数是由 事件 或者 主动执行
* */
//执行,以下是主动执行
function method(){
console.log("函数执行")
}
//执行
method();//执行方法就是函数名称+小括号
//也可以函数提前声明,基本函数存在提前声明
method();
function method(){
console.log("函数执行")
}
//函数根据是否有返回值分为带返回值函数和不带返回值函数
/*method1();*/
function method1() {
console.log("函数执行");//此函数没有返回值
}
function method2() {
console.log("函数执行");
return true;//此函数带了return+任意类型的数据,有返回值
}
//执行,a有值,b无值
var a = method1();//method()是执行,var a = method1()也是执行
var b = method2();
console.log(a, b);//输出的是返回值
//函数根据是否有参数分为有参函数和无参函数
function fun1(a, b, c) {//函数体括号里的参数(abc)叫做形参
console.log('有参', a, b, c);//输出参数
}
function fun2() {
console.log('无参');
}
fun1(1, 2);//执行fun1,括号里是实参,对应形参传相对应的值
fun2();
function fun3(name, age, sex) {
console.log('姓名:', name);
console.log('年龄:', age);
console.log('性别:', sex);
}
fun3('小花', 20, '女');//对应形参传相对应的值,把这些信息传到对应的形参里面去
//无参函数传递值,无参函数执行函数的时候传递参数,怎么接收
//使用函数的参数列表对象:argumentsm,这是一个集合类型,如下
//此时没有形参,但是有实参,则输出一个参数列表对象,把
/*function fun4() {
console.log(arguments);
console.log("参数列表");
}
fun4(1, true, 'abc');强行给fun4传参*/
function fun4() {
console.log(arguments);
console.log(arguments[0]); //key:value,0 key对应的是0的值value
console.log(arguments[1]); //key:value
console.log(arguments[2]); //key:value
console.log(arguments.length);//参数列表的长度,传了三个参数,列表长度为3
console.log("参数列表");
}
fun4(1, true, 'abc');//强行给fun4传参
/*
* 匿名函数,没有名字的函数
* */
/*function(){}//错误的,没有名字,方法如下,用变量接收匿名函数*/
var f = function () { //匿名函数用变量接收
console.log("匿名函数执行");
}
f();//匿名函数的输出与基本函数一样
//那么匿名函数能否提前声明呢?
//f();此时会报错,f is not a function
//匿名函数不可以提前声明
var f = function () {
console.log("匿名函数执行");
}
//匿名函数有无返回值,同上
var f1 = function () {
console.log('有返回值');
return '你好';
}
var f2 = function () {
console.log('无返回值');
}
//匿名函数有参无参,同上
var f3 = function (a, b, c) {
console.log('有参', a, b, c);
}
var f4 = function () {
console.log('无参');
}
f3(1, 2, 3);//执行时传参
f4();//执行不传参,因为无参
f1();
f2();
var c =f1();
var d = f2();
console.log(c,d);//输出的是返回值return
/*
* 自执行函数,也是匿名函数,没有名字
* 自执行函数有无参数有无返回值也是同上
* */
//给外面整体加一个小括号:(function(){}),证明是一个整体
var nn = (function (a, b) {
console.log("自执行", a, b);
return 1;
})(1, 2);//最后给外面加一个小括号来执行
console.log(nn);//输出的是返回的值,即return的值
</script>
</body>
</html>
函数声明(基本函数 有无返回值 有参无参 匿名函数 自执行函数)
最新推荐文章于 2023-10-16 13:22:20 发布