1 标准用法: 2 function testAwait (x) { 3 return new Promise(resolve => { 4 setTimeout(() => { 5 resolve(x); 6 }, 2000); 7 }); 8 } 9 10 async function helloAsync() { 11 var x = await testAwait ("hello world"); 12 console.log(x); 13 14 或者: 15 // var x = testAwait ("hello world");//此处x是一个Promise对象 16 // x.then(function(value){ 17 // console.log(value); 18 // }); 19 } 20 helloAsync ();
1 [ ] == [ ] // false 2 3 解析:两个引用类型,==比较的是引用地址
3、== 和 !优先级
[ ]== ![ ] // true 解析:(1)! 的优先级高于== ,右边Boolean([])是true,取返等于 false (2)一个引用类型和一个值去比较 把引用类型转化成值类型,左边0 (3)所以 0 == false 答案是true
'5' + 3 '5' - 3 解析:加号有拼接功能,减号就是逻辑运算 巩固:typeof (+"1") // "number" 对非数值+—常被用来做类型转换相当于Number()
var a = [1, 2, 3], b = [1, 2, 3], c = [1, 2, 4] a == b a === b a > c a < c 答案:false, false, false, true 解析:相等(==)和全等(===)还是比较引用地址 引用类型间比较大小是按照字典序比较,就是先比第一项谁大,相同再去比第二项。
[ method == 'get' ? 'params' : 'data' ]: obj // 对象键值可以使用 [ 变量或表达式 ]
解决1:给对象初始化要添加的属性,监听这个属性,这样原来有这个值就会更新dom(但有一个问题就是不太符合逻辑,你其他地方也用不到这个值,占着内存影响性能) 解决2:新建一个对象存这个值,直接渲染这个对象即可 sumTotal: {} ==> sumTotal['lines'] = xxx 新增不会渲染 2、新对象只存要加的这个值 newSumTotal: { lines: ''} ==> this.newSumTotal.lines = xxx