发表于: 2017-04-10 23:25:12
1 1138
今天完成的事情:
1、修改【学习资料-客卿留言】的样式;
2、和杨泽平讨论客卿留言json数据结构的写法;
3、看前端面试题,学习了逗号运算符的用法。
明天计划的事情:
1、整理【学习资料-客卿留言】的数据,并录入数据到json;
2、看前端面试题,巩固学习js原生的基础知识
遇到的问题:
看前端面试题,如下:
var i = 0,j = 0;
for(;i<10,j<6;i++,j++){
k = i + j;
}
问题:k的最终结果为多少?
这个问题的核心考点是逗号运算符。因为逗号运算符的存在,i<10被阻断,所以只考虑逗号后面的j<6;因此,结果为10.如果想这两个条件满足其中一个,把逗号换成“||”就可以了;如果想二者都起作用,换成“&&”就可以了。
对这个问题还可以延伸一下,alert(4,6);猜猜结果是什么?
如果想逗号运算符起作用,弹出结果为逗号后面的6,可以这样写alert((4,6));
为什么必须加上括号呢,个人猜测是因为逗号运算符的优先级是最低的,低于赋值运算符,alert()内容为“4,6”,因而把4赋值给了alert()的结果。而加了括号后,就先进行了逗号操作,后进行赋值操作,所以结果为6.
收获:
1、学习了js逗号操作符的相关知识;
2、看面试题关于异步操作的经典题目,
for
(
var
i = 0; i < 5; i++) {
setTimeout(
function
() {
console.log(
new
Date, i);
}, 1000);
}
console.log(
new
Date, i);
最后通过一篇知乎帖,跟着作者的思路学习了用 JS 精确控制代码输出的各种技巧,
这是链接:https://zhuanlan.zhihu.com/p/25855075
评论