函数的种类

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>函数的=种类</title>
		<script type="text/javascript">
			//1.创建构造函数
			var fun1 = new Function();
			console.log(typeof fun1);//会出现function
			//2.使用函数声明来创建一个函数
			/*
               语法:
                  function 函数名([形参1,形参2...形参N]){
	                 语句...... 
                  }
			*/
			function fun2(){
				console.log("这是使用函数声明来创建的函数");
				alert("哈哈哈哈哈");
				document.write("向网页中输入代码")
			}
			//调用函数
			fun2();
			/*
              3.使用函数表达式来创建函数
              var 函数名 = function([形参1,形参2...形参N]){
	              语句....
              }
			*/
			var fun3 = function(){
				console.log("这是使用匿名函数创建的函数");
				alert("我也会出来的")
			}
			fun3();

		</script>
	</head>
</html>

注意:还有一种是回调函数,由我们创建,不由我们调用,而且只执行一次,callback();

<!DOCTYPE html>
<html>
   <head>
   	   <meta charset="utf-8">
   	   <title>实参可以是任意值</title>
   	   <script type="text/javascript">
   	   	//判断是不是偶数
   	   	  function isOu(num){
             return num % 2 ==0;
   	   	  }
   	   	  var result = isOu(7);
   	   	   // console.log("result ="+result);
   	   	  //定义一个函数,可以根据半径计算一个圆的面积,并返回计算结果
   	   	 function mianji(r){
   	   	 	return 3.14*r*r;
   	   	 }
   	   	 result = mianji(6);
   	   	 // console.log("面积是:"+ result);
         
          /*创建一个函数,可以在控制台中输出一个人的信息
            可以输出name ,age,gender,address
          */
          function sayHello(o){
              console.log("我是"+o.name+",今年我"+o.age+"岁了,我是"+o.gender+"人,我住在"+o.address);
          }
          
          // var a = sayHello("猪八戒",28,"男","高老庄");

           var obj = {
           	name:"孙悟空",
           	age:18,
            address:"花果山",
           	gender:"男"           
           }

          sayHello(obj);
          /*
            实参可以是对象,也可以是函数
          */
          function fun(a){
              console.log("a ="+a);
              // a(obj);

          }
          fun(sayHello);

          fun(mianji);
          /*
            mianji()  -调用函数,相当于使用的函数的返回值
            mianji -函数对象 相当于使用这个函数
          */
   	   	</script>
   </head>
</html>

注意:函数的参数可以是任意值,

<!DOCTYPE html>
<html>
   <head>
   	  <meta charset="utf-8">
   	  <title>立即执行函数</title>
   	  <script type="text/javascript">
   	  	(function(){
   	  		alert("我是立即执行函数");
   	  		console.log("我是立即执行函数");
   	  	})();
   	  	(function(a,b){
           console.log("a = "+a);
           console.log("b = "+b);
   	  	})(123,456);
   	  </script>
   </head>
</html>

注意:还有立即执行函数
解析器在调用函数每次都会向函数内部传递一个隐含的参数
这个隐含的参数就是this,this指向的是一个对象,
这个对象我们成为函数执行的上下文对象
根据函数的调用方式的不同,this会指向不同的对象,
1.以函数的形式调用时,this永远都是window
2.以方法的形式调用时,this就是调用方法的那个对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值