天天看點

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>