一,定义变量let(类似var)
在js一直有一个bug是var:
1、var 声明的变量会有变量提升
2、var 没有块级作用域
1 2 3 4 | var name2 = 'jjjon' ;
{ var name2 = 'tom' ;
}
console.log(name2);
|
Salin selepas log masuk
3、var 可以多次重复定义一个变量,后面的变量替换前面变量
1 2 | var name3 = 'jond' ; var age = 18; var name3 = 19; var name3 = 'rose' ;
console.log(name3);
|
Salin selepas log masuk
新的定义变量let:
1、let声明的变量不会有变量提升,只有在前面定义了在后面才能用
2、let存在块级作用域
1 2 3 4 5 | let name5 = '222' ;
{
let name5 = ' ttt' ;
}
console.log(name5);
|
Salin selepas log masuk
3、let不能多次重复定义一个变量
1 2 | let name6 = 'aa' ;
let name6 = 'bb' ;
|
Salin selepas log masuk
二,const 声明一个常量
常量:指的是不会改变的数据
1、值不能再改变
1 2 3 4 5 6 7 | const pi = 3.01415;
{
const arr = [5,6,8,9,];
arr.push(7);
console.log(arr);
arr = 10;
}
|
Salin selepas log masuk
2、常量具有块级作用域
1 2 3 4 | {
const ban = "vin" ;
}
console.log(ban);
|
Salin selepas log masuk
3、没有变量提升,先声明后使用
4、不能声明同名的常量
5、一定要赋初始值,否则报错
6、如果声明的是对象,对象的地址不能改变,但是可以改变其内部的属性
1 2 3 4 5 | const obj = {
na: "jjjj" ,
age:20};
console.log(obj.na);
console.log(obj.na);
|
Salin selepas log masuk
例如:应用场景,固定的地址就可以用常量
三,字符串的扩展
1、判断字符串"hello word"是否存在"word"
1 2 | var str = 'hello word' ; var result = str.indexOf( 'word' );
console.log(result);
|
Salin selepas log masuk
2,ES6提供includes():返回布尔值,用于判断字符串是否包含某些字符
1 2 | var bool = str.includes( 'word' );
console.log(bool);
|
Salin selepas log masuk
3,startsWith(str[,num]):返回布尔值,用于判断字符串是否以某个字符开头
1 | bool2 = str.startsWith( 'hello'
|
Salin selepas log masuk
//给这个方法传入2个参数
var bool3 = str.startsWith('word',6);
console.log(bool3); //true
4,endsWith(str[,num]):返回布尔值,用于判断字符串是否以某些字符结尾
1 2 3 | var bool4 = str.endsWith( 'd' );
console.log(bool4);
console.log(bool5);
|
Salin selepas log masuk
5,repeat(num):传入数字,这个方法将字符串重复数字对应次数
1 2 | var str322= '我爱我家,\n' ;
console.log(str322.repeat(3));
|
Salin selepas log masuk
四, 5.0模板语法 :`模板字符串`
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var obj33 = {
name: 'zhuzhu' ,
age:18,
sex: '男' ,
hobby: '女' ,
veight:120,
height:180};
console.log(str4);
console.log(temp111);
let temp22 = `我叫${name8}`;
console.log(temp22);
}
let temp3 = `我叫${getName()}`;
console.log(temp3);
let bb = 2;
let temp4 = `a + b=${aa+bb}`;
console.log(temp4);
|
Salin selepas log masuk
五,6.0箭头函数:()=>{}
1 2 3 4 5 | $(arr).each( function (index,item){
console.log(item);
});
|
Salin selepas log masuk
Atas ialah kandungan terperinci ES6的语法详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!