天天看点

Day5_HTML+CSS+JS——JS函数(重点:函数的返回值与函数引用之间的区别)一. 储备知识

一. 储备知识

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>