JavaScript 易错的小题目
变量作用域的查找
var a =10
function count() {
console.log(a)
a = 20
}
count();
var a =10
function count() {
console.log(a)
var a = 20
}
count()
形参与实参
function one(a,b,c) {
return one.length;
}
function two(a,b,c,d,e,f,g){
return arguments.length;
}
console.log(one()); //3
console.log(two()); //0
function one(a,b,c) {
console.log(typeof one)
}
one();
操作符
var a = 0,
b = 0;
if ((a = 3) > 0 || (b = 3) > 0) {}
a++;
b++;
console.log(a, b); // 4 1
// ======
var a = 0,
b = 0;
if ((a = 3) > 0 | (b = 3) > 0) {}
a++;
b++;
console.log(a, b); // 4 4
其中按位操作符需要对操作符两边的操作数进行运算,无论是按位与还是按位或;而逻辑运算符不一定需要对比所有的操作数,例如其中逻辑或,只要碰到为 true 的操作数,会直接返回 true,对于操作符为 true 后的操作符,不再执行运算。
var a = 0,
b = 0;
if ((a = 3) > 0 && (b = 3) > 0) {}
a++;
b++;
console.log(a, b); // 4 4
// =====
var a = 0,
b = 0;
if ((a = 3) > 0 & (b = 3) > 0) {}
a++;
b++;
console.log(a, b); // 4 4
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 浏览器渲染页面的过程
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论