1.嚴(yán)格模式和非嚴(yán)格模式的區(qū)別
????嚴(yán)格模式 變量必須先聲明车柠,直接給變量賦值,不會(huì)隱式創(chuàng)建全局變量塑猖,不能用with,
????嚴(yán)格模式中 call apply傳入null undefined保持原樣不被轉(zhuǎn)換為window
2.JSON數(shù)據(jù)格式要求嚴(yán)格正確竹祷,不能有注釋和符號(hào)錯(cuò)誤
3.JS最常用的垃圾收集方式是標(biāo)記清除
? ? ?管理內(nèi)存使用接觸引用,一旦數(shù)據(jù)不再有用羊苟,將其值設(shè)置為null來(lái)釋放其引用塑陵。
4.對(duì)數(shù)組的復(fù)制,只是復(fù)制指向底層數(shù)據(jù)結(jié)構(gòu)的指針蜡励,可以采用變通的復(fù)制方式
? ? ? ? const a1=[1,2];
????????const a2=a1.concat();
????????a2[0]=2;
????????a1 // [1, 2]
5.ES5比較兩個(gè)值是否相等
? ? ?只有兩個(gè)運(yùn)算符:相等運(yùn)算符(==)和嚴(yán)格相等運(yùn)算符(===)令花。它們都有缺點(diǎn),前者會(huì)自動(dòng)轉(zhuǎn)換數(shù)據(jù)類(lèi)型巍虫,后者的NaN不等于自身彭则,以及+0等于-0。
6.encodeURIComponent
不會(huì)對(duì)下列字符編碼 ASCII字母占遥、數(shù)字俯抖、~!*()'
將字符串作為URI組件編碼 , 當(dāng)你需要編碼URL中的參數(shù)的時(shí)候,那么encodeURIComponent是最好方法瓦胎》移迹可以將URL中的參數(shù)中的 "/" 編碼
7.encodeURI
不會(huì)對(duì)下列字符編碼 ASCII字母、數(shù)字搔啊、~!@#$&*()=:/,;?+';
如果你需要編碼整個(gè)URL柬祠,然后需要使用這個(gè)URL,那么用encodeURI负芋。
這個(gè)URL只有空格會(huì)被編碼 //不會(huì)被編碼
8.escape
escape是對(duì)字符串(string)進(jìn)行編碼(而另外兩種是對(duì)URL)漫蛔,作用是讓它們?cè)谒须娔X上可讀。
編碼之后的效果是%XX或者%uXXXX這種形式旧蛾。
其中 ASCII字母莽龟、數(shù)字、@*/+ 锨天,這幾個(gè)字符不會(huì)被編碼毯盈,其余的都會(huì)。
如果只是編碼字符串病袄,不和URL有半毛錢(qián)關(guān)系搂赋,那么用escape赘阀。
9.表單下載有問(wèn)題:
EXCEL中顯示數(shù)字總以科學(xué)計(jì)數(shù)法顯示;并且使用join(",")方法,EXCEL也不識(shí)別,任然是科學(xué)計(jì)數(shù)法
其實(shí)這個(gè)問(wèn)題跟用什么語(yǔ)言導(dǎo)出csv文件沒(méi)有關(guān)系。Excel顯示數(shù)字時(shí)脑奠,如果數(shù)字大于12位基公,它會(huì)自動(dòng)轉(zhuǎn)化為科學(xué)計(jì)數(shù)法;如果數(shù)字大于15位捺信,它不僅用于科學(xué)技術(shù)費(fèi)表示酌媒,還會(huì)只保留高15位,其他位都變0迄靠。
解決這個(gè)問(wèn)題:
只要把數(shù)字字段后面加上顯示上看不見(jiàn)的字符即可秒咨,字符串前面或者結(jié)尾加上制表符"\t".
php 程序可以這樣判斷,注意一定是"\t"掌挚,不是'\t'.