JavaScript 语言基础 - 定义变量

JavaScript 语言基础 - 定义变量

一、标识符命名规则

  1. 标识符的组成有字母、数字、## 标题下划线、$、变量名不能以数字开头
  2. 标识符不能使用内置关键字 if,for,break,var,let,等等
  3. 标识符应使用驼峰命名形式-变量名组成的单词首字母大写
   var messageAsBoolean = "HHO";

二、定义变量

1. 定义变量的方式

    var message   = "qqqq";		
    message       = "qqqq"   
	let message   = "qqqq";
	const message = "aaaaa";

2. var 定义变量会自动提升到顶部作用域,let定义的变量不会提升至首行

	function a()
	{
		console.log(a);   // 不会报错,a作用域会自动提升至顶行,内容为	undefined
		var a = "aaaaaa";
	} 
等同于:
	function a()
	{
		var a;
		console.log(a);
	 	a = "aaaaaa";
	}

3. let 和 var 声明的变量作用域

 3.1 let 声明的变量的作用范围是块作用域

	function fun()
	{								//函数块作用域的开始
		if(true){ 					//if语句块作用域的开始
		
		} 							//if语句块作用域的结束

	}								//函数块作用域的结束

 3.2 var 声明的变量作用域为函数作用域

	function fun(){ 				//函数作用域的开始

	} 								//函数作用域的结束

 3.3 全局声明方式

	/* 1. 不使用 let、var等修饰,直接定义的变量 */
	
		message = "aaaaaaaa";
		
	/* 2. 在全局变量区申请的变量 */
	
		var message = "aaaaaa";
		let message = "aaaaa";
		
	/* 注: js 文件的开始部分,不在任何函数内 */

4. 条件声明

 4.1. var 定义的变量会提升值函数的顶部,重复定义会被替换 */

	function fun(){
		var name = "lili";
		if(true){
			var name = "hho";            //不会报错,代码类似name = 	"hho";
			console.log(name);           //打印结果为hho
		}
		console.log(name);               //打印结果为hho
	}

 4.2 let 定义的变量不会被提升至函数的顶部

	function fun(){
		let name = "lili";
		if(true){
			let name = "hho";			//新定义变量name
			console.log(name);			// 打印结果为hho
		}
		console.log(name);				// 打印结果为lili
	}

5. const 定义的变量

 5.1. 定义的变量的属性和let相似,但是 const定义的变量值不可被修改

  const name = "hho";					//只可使用,不可修改name变量的值

 5.2 定义的变量的作用域为块作用域,和 let 相同

 5.3 const 定义变量必须初始化

  const name;    						// 报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

相约天涯海角

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值