ES6语法学习

let与var的区别

  1. let只在声明的块级作用域内有效,外部无法访问;而var则可以访问。
<script>
		{
			let a=1
		}
		console.log(a)//显示结果: Uncaught ReferenceError: a is not defined
	</script>
<script>
		{
			var a=1
		}
		console.log(a)//显示结果:1
	</script>
  1. let变量不可重复定义,var可以。
<script>
		{
			var a=1
			var a=2
		}
		console.log(a)//显示结果:2
	</script>
<script>
		{
			let a=1
			let a=2
			console.log(a)//显示结果:Uncaught SyntaxError: Identifier 'a' has already been declared
		}
	</script>

const命令

  1. 与let一样,只在声明的块级作用域内有效
	<script>
		{
			const a=1
		}
		console.log(a)//Uncaught ReferenceError: a is not defined
	</script>
  1. const声明了变量,就必须立即初始化。
<script>
		{
			const a
			a=1
			console.log(a)//Uncaught SyntaxError: Missing initializer in const declaration
		}
</script>
  1. const声明一个只读常量,不可修改。
<script>
		{
			const a=1
			a=2
			console.log(a)//Uncaught TypeError: Assignment to constant variable
		}	
</script>

模板字符串

<script>
		var a="dog";
		var b=`This is a ${a}`;
		console.log(b);//结果:This is a dog
	</script>

箭头函数

  1. 简单使用语法
<script>
		var func= (a) => a
		//等同于
		var func=function(a)
		{
			return a
		}
	</script>
  1. this固定,不再根据调用对象变化。
<script>
		//字面量方式创建对象
		var student={
			name:"小心",
			age:"16",
//			箭头函数
			introduction= () =>{
				console.log(`我的名字叫${this.name},今年${this.age}岁`)//Uncaught SyntaxError: Invalid shorthand property initializer
			}
//			非箭头函数
//			introduction:function(){
//				console.log(`我的名字叫${this.name},今年${this.age}岁`)//结果:我的名字叫小心,今年16岁
//			}

		}
		student.introduction()
</script>
  1. 箭头函数不能用arguments
<script>
//		var fun=function(){
//			console.log(arguments)//Arguments(3)
//		}
		var fun= () =>{
			console.log(arguments)//Uncaught ReferenceError: arguments is not defined
		}
		fun(1,2,3)
	</script>

对象的单体模式

<script>
		var student={
			name:"小心",
			age:"16",
			introduction(){
				console.log(`我的名字叫${this.name},今年${this.age}岁`);
			}
		}
		student.introduction()	
</script>

面向对象

  1. 构造函数的方式创建对象
<script>
		function Student(name,age){
			this.name=name;
			this.age=age;
		}
		Student.prototype.introduction=function(){
			console.log(`我的名字叫${this.name},今年${this.age}岁`);
		}
		var student=new Student("小心",16);
		student.introduction();
	</script>
  1. 构造类的方式创建对象
<script>
		class Student{
			constructor(name,age){
				this.name=name;
				this.age=age;
			}
			introduction(){
				console.log(`我的名字叫${this.name},今年${this.age}岁`);
			}
		}
		var student=new Student("小心",16);
		student.introduction();
	</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值