JS的连续赋值和曾经出现的怪异情况
let a=1;
let b=a=3;
于是问题来了
var a={n:1};
var b=a;
a.x=a={n:2};
console.log(a) // {n:2}
console.log(b) // {n:1,x:{n:2}}
console.log(a.x) // undefined
console.log(b.x) // {n:2}
参考文章:http://www.jb51.net/article/118168.htm
0.1+0.2=0.3???错!!它会等于 0.3000000000000004 (大概这么多0,因为小小的摄入误差) 这并非只是ES一家错误。 但是 0.15+0.25等其他的是正确的。
a=0.1;
b=0.2;
console.log(a+b); // 0.30000000000004
NaN存在的意义?
a=0.1;
b=0.2;
console.log(a/'hhh'); // NaN
获取成员属性应该用'.'还是用[]
||
和&&
的妙用
在对象中,运算符 || 可以用来填充默认值: let height= variable || 100
在对象中,运算符 && 可以帮我们来规避 undefined 出的异常(因为冲undefined中取值会报异常) : let height= obj && obj.length
JS基础知识之 addEventListener
该方法用于给我们选取的元素添加各种 dom 相关的事件。诸如 onclick,onmousemove 等。
div1.addEventListener('click',function(event){
console.log("A");
});
但是我想说的其实是,关于它的其他参数
它有三个参数,分别是: 1.事件名称、种类 2.定义的回调函数 3.事件是否在捕获阶段,冒泡阶段执行
关于第三个参数,它是一个 bool 值。
关于事件的几个阶段:http://blog.csdn.net/jquery_qq/article/details/51448842
一直没有怎么注意效率和写法,最近做了个react-todo2.0发现优化的地方太多了,看见redux官网的todo-list更觉写法简明,于是最近都特别在意代码风格。
代码比较1:
contents = JSON.parse(contents);
this.props.initTodos(contents);
和this.props.initTodos(JSON.parse(contents))
哪一种写法更高效?