对象:
let obj = { name: "张三", age: 18, addr: "郑州" } console.log(obj.sex);
// // 获取属性
// for (const item of Object.keys(obj)) {
// console.log(item)
// }
// // 获取属性值
// for (const item of Object.values(obj)) {
// console.log(item)
// }
// // 键值对 属性-值
// for (const [k, v] of Object.entries(obj)) {
// console.log(k, v)
// }
let obj2 = {
name: "李四",
// age: undefined,
sex: "男"
}
let res = Object.assign(obj, obj2,{})
console.log(obj)
console.log(res)
Promise:
// function f1(s, e) {
// ...代码(被调用)
// console.log("f1")
// f();// 调用
// return f // 返回
// let val = Math.random();
// new Promise(function (resolve, reject) {
// if (val >= 0.5) {
// resolve(val);
// } else {
// reject("val<0.5");
// }
// });
// }
// function success() {
// console.log("f2");
// }
// f1(f2);
// f1(f1(f2));
// function error() {
// console.log("error")
// }
// 解决回调定域问题:
// f1()
// .then(function (val) {
// console.log(val)
// })
// .then(function (val) {
// console.log(val)
// })
// .catch(function (err) {
// console.log(err)
// })
// 解决异步编程问题:
function timeout(ms) {
return new Promise((resolve, reject) => {
setTimeout(resolve, ms, 'done');
});
}
timeout(100).then((value) => {
console.log(value);
});
console.log(0)
async,await:
function show(time) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(time * 2)
}, time);
})
}
function step(time) {
console.log(`正在处理中${time}`)
return show(time);
}
async function work() {
let time1 = 100;
// step(time1)
// .then(time2 => step(time2))
// .then(time3 => step(time3))
// .then(res => {
// console.log("工作完成!")
// })
let time2 = await step(time1); // 第一步
let time3 = await step(time2); // 第二步
let time4 = await step(time3); // 第三步
console.log("工作完成!")
}
work();
export
export function sum(a, b) { console.log(a + b); }
export function plus(a) { console.log(a * a); }
export var add = 1000;
imoprt
import { sum, plus, add } from "./08export.js";
sum(10, 30);
plus(add)