JS基础 -- 变量和函数的声明提前

155 阅读1分钟
                /*
		 * 变量的声明提前(实例-01)
		 * 	- 使用var 关键字声明的变量,会在所有的代码执行之前被声明(但是,不会赋值),
		 * 	  但是,如果声明变量时,不使用var 关键字,则变量不会被声明提前。
		 * 
		 * 函数的声明提前(实例-02)
		 *  - 使用函数声明形式创建的函数function 函数(){},它会在所有的代码执行之前就被创建,
		 * 	  所以我们可以在函数声明钱来调用函数。
		 * 	  使用函数表达式创建爱你的函数,不会被声明提前,所以不能在声明前调用
		 * 
		 * 	  当使用function创建函数后,在调用函数时,可以在创建函数之前或者之后调用函数,都会被执行
		 * 	  当使用 var 创建函数后,在调用函数时,只能在创建之后调用函数,否则不会被执行
		 */
		//实例-01
		console.log('a = '+a);
		
		var a = 123;
		
		//实例-02
		//函数声明,会被提前创建
		//使用function创建函数,在调用函数时,没有要求必须在创建之前或者之后调用,所以之前或者之后调用
		fun();
		function fun(){
			console.log("我是函数");
		}
		//函数表达式,不会被提前创建
		var fun1 = function(){
			console.log("我是函数 1");
		}
		//使用 var 创建函数,在调用函数时,必须在创建之后使用;
		fun1();