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都打包了。