发表于: 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


返回列表 返回列表
评论

    分享到