以下代码的执行结果是?function *multiplier() {let i = 1, n = 1;while(true) {i++;let t = yield n;if (t)n *=t;elsen = i*n;}}let m = multiplier()console.log(m.next().value,m.next(2).value,m.next(2).value)
A. 1 2 3
B. 1 2 4
C. 2 4 6
D. 2 4 8
查看答案
以下代码的执行结果是?n=10setTimeout(()=>{n++},0)let prom = new Promise((resolve,reject)=>{console.log('prom:',n)if(n>10)resolve()elsereject()})prom.then(val=>{console.log('then:',n)}).catch(err=>{console.log('catch:',n)})n++
A. prom: 10then: 10
B. prom: 10then: 11
C. prom: 10catch: 10
D. prom: 10catch: 11
以下代码的执行结果是:function inc(){return new Promise((resolve,reject)=>{if(n<2){n++resolve(n)}elsereject(n)})}async function print(){for (let i=0;i<5;i++){await inc()console.log("print:"+n)}}n=0print().catch(val=>{console.log("catch:"+val)})
A. print:1print:2catch:2
B. print:1print:2catch:3
C. print:1print:2catch:2catch:2catch:2
D. print:1print:2catch:3catch:4catch:5
当变量str为何值时,以下表达式结果为true/^(ab)\D+[^1-9]$/.test(str)
A. 'abc1'
B. 'abcd'
C. 'cabd'
D. 'abc0'
E. 'ab0c'
在ES6当中,Promise对象有以下几种状态
A. fullfilled
B. rejected
C. pending
D. end