1.undefined与任意数类型进行“+”运算结果都是NAN
var abc=true+1+undefined+9+"zjj"+false+null+9+[];
console.log(abc);
//NaNzjjfalsenull9
2.可以用JSON.stringify()判断一个对象是否为空对象
var a=new Object();
console.log(JSON.stringify(a) == "{}");
//true
3.空数组转换为Number类型值为1,空对象转化为Number类型值为NaN
4.setInterval的第三个参数,是作为第一个参数的参数传递
5.js的map方法
var obj1=[{num:123,per:45},{num:234,per:89}];
var data=obj1.map(function(item){
item.name=item.num+"aa";
return item;
})
console.log(data);
//[{num:123,per:45,name:"123aa"},{num:234,per:89,name="234aa"}]
6.网页导航栏处logo的引用head里引入如下,favicon.ico放在网站根目录下
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
7.在angular项目中引用lodash中的方法使用require方法引入,这样坐的好处是项目最后在AOT编译出来的结果会小一点点,在require方法之前需要先declare var require:any一下,不然在AOT的时候会有错误
declare var require:any;
const orderBy=require('lodash/orderBy');
const sumBy=require('lodash/sumBy');
使用 import { orderBy } from 'lodash' 这种方式引入,在AOT的时候,会吧整个lodash中所有的方法全部打包进去。 用require方式引入,则只会打包引入的方法.
8.在使用d3的时候,不要直接import d3 from 'd3',最新的d3版本现在已经是模块化了,在项目中使用npm或者yarn安装d3的时候,所有的模块都已经被下载到node_modules中去了。引入方式类似于: import { select } from 'd3-selection';这样做的好处是,在AOT的时候只会打包所需要的功能模块,不会把整个d3都打包了。