let str = '000500';
let res = +str.substr(2, 2);
console.log(res);
getRes(res);
str = '0';
getRes(res);
console.log(res);
function getRes(res) {
res = str && (str = +str) || 'ok';
console.log(res);
}
结果:
let a = typeof(function f() {
return "1";
}, function g() {
return 2;
})()
console.log(a);
function foo(a) {
console.log(a + b);
}
var a = 3;
var b = 4;
foo(2);
以下6个代码片段,会打印两次 ‘got it’ 的是哪些?
//片段1
var p = new Promise((resolve, reject) => {
reject(Error('got it'))
})
.catch(error => console.log(error))
.then(error => console.log(error))
//片段2
new Promise((resolve, reject) => {
resolve('got it')
}).then(() => {
throw Error('got it')
})
.catch(error => "got it")
.catch(error => console.log(error.message))
//片段3
var p = new Promise((resolve, reject) => Promise.reject(Error('got it')))
p.catch(error => console.log(error.message))
p.catch(error => console.log(error.message))
//片段4
var p = new Promise((resolve, reject) => {
reject(Error('got it'))
})
.catch(error => console.log(error.message))
.catch(error => console.log(error.message))
//片段5
Promise.resolve('got it').then(data => data).then(data => {
console.log(data)
return data
}).then(console.log)
//片段6
var p = new Promise((resolve, reject) => {
reject(Error('got it'))
})
p.catch(error => console.log(error.message))
p.catch(error => console.log(error.message))
第一个片段打印出来的结果:
第2个片段打印出来的结果:
无输出
第3个片段打印出来的结果:
第4个片段打印出来的结果:
第5个片段打印出来的结果:
第6个片段打印出来的结果:
在JavaScript中, 有
A typeof function() {} === typeof {}
B typeof Date === typeof RegExp
C typeof {} === typeof []
D object.prototype.tostring.call([]) === typeof []
console.log(typeof
function() {} === typeof {});
console.log(typeof Date === typeof RegExp);
console.log(typeof {} === typeof []);
console.log(object.prototype.tostring.call([]) === typeof []);
for (let i = 0; i < 5; ++i) {
setTimeout(function() {
console.log(i);
}, 1000);
}