今日学习:函数,对象,JSON,Promise的学习和使用。学习时长:3h。
箭头函数
箭头函数中this上下文会改动,上下文是传统JS中调用函数时的位置定义,箭头函数中是继承其父级,如果在回调函数内部调用,就会出现在函数定义的地方,将参数传递给回调。
实例:
JSON
JS对象
const book=new Object({title:"1998",author :"ellsa"})
console.log(typeof book);
console.log(book);
对象集合
const book=[
new Object({title :"1998"}),
new Object({title :"1998"}),
new Object({title :"1998"}),
new Object({title :"1998"}),
new Object({title :"1998"}),
];
console.log(typeof book);
console.log(book);
将JS数据转换为字符串或文本(JSON)
JSON.stringify
let bookJSON=JSON.stringify(book);
console.log(typeof bookJSON);
console.log(book);
JSON.parse
let date=bookJSON;
let parsed=JSON.parse(date);
console.log(parsed);
console.log(Array.isArray(parsed));
console.log("num items:"+parsed.length);
对象:无序键值对的集合
属性是对象关联的一个变量,方法是对象关联的函数
创建对象方式1:使用大括号和一系列通过逗号分开的键值对
const book={
title:"1998",
checkIN:function(){this.isAvaialbe=true;},
checkOut:function() {this.isAvaialbe=false;},
};
console.log("value:\n",book);
创建对象方式2:使用构造函数和new关键字
const book={
title:"1998",
checkIN:function(){this.isAvaialbe=true;},
checkOut:function() {this.isAvaialbe=false;},
};
const book2=new Object(book);
console.log(book2);
查找和改写数值
console.log(book2.title);
book2.title="1999";
this
实例:
Promise
实例:
Async:Await:使异步代码看起来更同步
function promiseTimeout(ms){
return new Promise((resolve,reject)=>{
setTimeout(resolve,ms);
})
}
async function long(){
return 42;
}
async function run(){
console.log("start");
await promiseTimeout(2000);
const response=await long();
console.log(response);
console.log("stop");
}
run();
包