lio-mengxiang分享的面试题,手写一个基于发布订阅模式的事件绑定机制
循环很奇特上面的循环没有递增条件,引发思考,搜索, 摘抄
1. 变量递增表达式不写
for (var i = 10; i--; ) {
console.info(i);
}
可以正常执行十次,循环能否继续往下执行的条件是条件表达式返回的是否是true,在i为0之前,i--返回的是1~10的数字,隐式转换为true,所以可以继续循环
var ary = ["jack","tom","lily","andy"];
for(var i=0,a;a=ary[i++];){
console.log(a);
}
也可以正常执行
js(javascript)中的奇特for循环写法!
2. 循环初始值不写
var i=0;
for(;i<10;i++) {
alert(i);
}
依然可以执行十次,初始值表达式只会执行一次,所以可以放到外面初始化,但是分号不能少
3. 变量递增表达式和循环初始值都不写
var i=0;
for(;i<10;) {
alert(i);
i++
}
依然可以执行十次,放到循环体内写i递增也是可以正常循环的
javascript:for循环从入门到偏门,效率优化,奇特用法
但是循环条件不能不写不然就会死循环
网友评论