ES6 中有 class 语法。值得注意是,这里的 class 不是新的对象继承模型,它只是原型链的语法糖表现形式。
函数中使用 static 关键词定义构造函数的的方法和属性:
class Animal {
constructor(color,age){
this.color = color;
this.age = age;
}
yeil(){
alert("我大声咆哮");
}
}
class Cat extends Animal{
constructor(color,age,name){
super(color,age); //调用Animal构造函数constructor
this.name = name;
}
skill(){
alert("我超级会卖萌");
}
}
// 实例化猫类
var c1 = new Cat("黄色",2,"kitty");
var c2 = new Cat("黑色",1,"可乐");
c1.skill();
c1.yeil();
在html中模块化引入js
1. 有http服务器
2. <script type="module">
export 导出
var name = "mumu";
export{name};
function say(){ alert('我喜欢'+name)}
export {say};
import 导入
<script type="module">
import {name,say} from './js/utils.js';
say();
</script>
class Now{
constructor(arg) {
this.date = new Date().toLocaleString()
}
}
export default Now
import Now from './js/utils.js';
alert(new Now().date)
//一个文件只能导出一个默认
Set方法
set常用数组去重
Promise 异步
Promise 主要做异步任务 (需要时间等待)任务
例
小王 对他承诺 明日我请你去吃粑粑
//小王不能立即兑现 需要 2000毫秒执行
Promise回调
<script>
//1 你好很高兴认识你 2秒
//2 咱俩能加个微信吗 3秒
//3 请问你愿意葬在我家祖坟吗 5秒
//4 没门 .5秒
function say(msg, item) {
return new Promise((resolve, reject) => {
setInterval(() => resolve(msg), item)
})
}
say("你好很高兴认识你", 2000)
.then(res => {
console.log(res);
return say("咱俩能加个微信吗", 3000)
})
.then(res => {
console.log(res);
return say("请问你愿意葬在我家祖坟吗", 5000)
})
.then(res => {
console.log(res);
return say("没门", 500)
})
.then(res => {
console.log(res);
})
</script>