一. 储备知识
JS函数的注意点:
- 通过关键字function声明函数
- js匿名函数创建时,需要使用变量接收函数的引用(js函数的本质也是一个对象),接收函数的变量相当于函数的方法名
- js函数在调用时,js引擎不会检查传入参数的个数,自动从前向后匹配使用
- 如果传入的参数不够,进行加法运算时会报出NAN(not a number)
- ‘+’如果有字符串,会自动拼接
- ‘+ true’,true将当作1,false当作0使用
- 函数里面的this,谁调用函数,这个this就代表谁
1.1 声明匿名无参无返回值函数
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//1.声明函数
//接收函数的变量相当于函数的方法名
var fun = function(){
alert("这是一个匿名无参无返回值的函数");
};
//2.函数调用:函数名(实参列表)
//调用匿名函数
fun();
</script>
</head>
<body>
</body>
</html>
1.2 声明匿名有参有返回值函数
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//1.声明匿名有参有返回值的函数
//接收函数的变量相当于函数的方法名
var sum = function(a, b){
var sum = a + b;
return sum;//通过return可以给方法一个返回结果
};
//2.函数调用
var result = sum(1,2);
alert(result);
</script>
</head>
<body>
</body>
</html>
1.3 声明有函数名有参有返回值函数
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function sum(a, b, c){
return a+b+c;
}
var result = sum(1, 2, 3);
alert(result);
</script>
</head>
<body>
</body>
</html>
1.4 函数的返回值和函数的引用之间的区别
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function introduce(){
alert("我叫:" + user.name + ",年龄:" + user.age);
}
//1.创建对象
var user = new Object();
//动态的给对象添加属性和函数
user.name = "laowang";
user.age = 30;
//user.info = introduce();这是将方法的返回值交给user.info接收
user.info = introduce;//将函数的引用交给user.info
//获得对象的属性:对象.属性
alert(user.age + "," + user.name);
user.info();
</script>
</head>
<body>
</body>
</html>