概念
于2015年推出,为了使用js更加快捷和方便。
声明变量
var:
1.全局作用域
2.函数作用域
3.会变量提升
4.没有if,switch,for,while,do,else作用域
let局部变量
1.局部作用域在{}里面使用
2.不能变量提升
3.在一个作用域里面不能重复声明
{
let a=30;
a=500;
alert(a)
}
const常量
1.和let一样
2.变量名建议大写
3.生命必须赋值
4.值类型不允许修改
const LIST=["I","Hate","You"];
LIST.push("LOve");
console.log(LIST);
解构
数组
1.[] 解构符号
2. , 一位
3. …rest 剩余
4. c=10 默认参数
var arr=[1,2,3,4,5,6,7,8];
var [a,b,...rest]=arr;
console.log(a,b,rest);
var [a,b,c,d,...rest]=arr;
//a:1, b:3 c:5 d:7,[8]
console.log(a,b,c,d,rest);
var [a,,,b=10]=[1,2,3,4];
console.log(a,b);
对象
1.{} 符号
2.没有顺序
3. …rest 剩余
var obj={name:"000",age:"20",eye:2};
var {name,age,eye,}=obj;
console.log(name,age,eye);
字符串ES6扩展方法
trim 移除空白
var str=" 00000 ";
console.log(str);
console.log(str.trim());
repeat 重复
console.log("0111\n".repeat(1000));
startsWith 以···开头、endWidth 以····结尾
var str="w你是我的朋友";
alert(str.startsWith("w"))
字符串模板
用``定义字符串,用${}定义js,可以随意换行,可以随意使用符号
var s="00000";
var sss=`gjdgkjsgj;15
32133`;
console.log(sss);
字符串
遍历
for
for of遍历
var str='yue𠮷口';
for(let s of str){
console.log(s);
}
填充
padStart(位数,填充字符)添加前面 padEnd(位数,填充字符)添加后面
var str="1";
console.log(str.padStart(3,"2"))
console.log(str.padEnd(3,"2"))
函数
箭头函数
箭头函数就是函数的简写形式
箭头左边:参数、箭头右边:返回值
var fun1 = str => "love"+str;
alert(fun1("0000"))
参数
0个或多个参数要用括号包括
var fun=function(a,b){alert(a+b)}
var fun2=(a,b)=>alert(a+b);
fun2(6,7);
返回值
如果返回是一个对象,那么用括号包裹
var fun=function(){
return {name:"mmm",age:"20"};
}
var fun2=()=>({name:"mmm",age:"20"});
console.log(fun2());
执行语句:如果执行有多行,返回语句要用return 执行语句要用{} 包裹
var fun2 = str=>{
if(str.includes("俄罗斯")){
return "沙皇大帝"
}else{
return "金帐汗国"
}
}
alert(fun2('puting'))
箭头函数的this指向上一层作用域的this
箭头函数不能new 当构造函数
函数参数
默认参数
function say(color="蓝色"){
alert("没有你的世界是"+color+"的");
}
say();
不定参数(定义的时候)
function metting(a1,a2,a3){
console.log(`1222222${a1}、${a2}、${a3}`)
}
var s=["akk","add","acc"];
//在函数调用时候把数组传入拓展
metting(...s); //把arr数组拆分为单个参数掺入
拓展参数
function add(...list){ //把所有的单个参数,接收为一个叫list的数组
//把参数list列表累计相加弹出
alert(list.reduce((a,b)=>a+b))
//arguments 关键字 指函数的列表参数 Array.from把类似的元素转换为数组
}
add(15,30,50);
类
class 类
extends继承
super父构造函数(要在所有方法最前面执行)
constructor构造函数
this指向实例
static静态的
new Box() 实例化类