-
typeof 和 instanceof的不同之處
查看全部 -
apply方法
查看全部 -
js 字母排序查看全部
-
null數(shù)據(jù)類型的變量沒法被typeof 判定為數(shù)據(jù)類型為null ,反而會(huì)被判定為object ,因?yàn)閠ypeof 會(huì)將返回的數(shù)據(jù)類型翻譯成機(jī)器碼,如果機(jī)器碼后三位為000,則判定為object ,而null 的數(shù)據(jù)類型翻譯機(jī)器碼后的后三位為000
查看全部 -
開發(fā)過程中的編碼和解碼
????escape和unescape、encodeURL和decodeURI、encodeURIComponent和decodeURIComponent
????escape(url)? // 除了ASCII(a-z,0-9),其他的進(jìn)行編碼(對除了英文字符和數(shù)字其他的字符全部編碼)? js全局函數(shù)
????unescape(url)? // 除了ASCII,其他的進(jìn)行解碼
????encodeURI(url) // 只對中文進(jìn)行編碼? ?最常用
????decodeURI(url) // 只對中文進(jìn)行解碼? ios移動(dòng)端會(huì)被轉(zhuǎn)碼,需要解碼
????
????encodeURIComponent?????//該方法不會(huì)對 ASCII 字母和數(shù)字進(jìn)行編碼,也不會(huì)對這些 ASCII 標(biāo)點(diǎn)符號(hào)進(jìn)行編碼: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 這些用于分隔 URI 組件的標(biāo)點(diǎn)符號(hào)),都是由一個(gè)或多個(gè)十六進(jìn)制的轉(zhuǎn)義序列替換的。
????decodeURIComponent????//????解碼
查看全部 -
深拷貝的兩種方法:
//方法一:循環(huán)遍歷
function?deepClone(tartgetObj,?endObj)?{
????var?obj?=?endObj?||?{}
????for?(var?key?in?targetObj)?{
????????if(typeof?targetObj[key]?===?'object')?{
????????????obj[key]?=?tartgetObj.construtor?===?Array???[]?:?Object.create(null)
????????????deepClone(tartgetObj[key],?obj[key])
????????}?else?{
????????????obj[key]?=?targetObj[key]
????????}
????}
????return?obj
}
//方法二:JSON.stringify()和JSON.parse()
var?copyObj?=?JSON.parse(JSON.stringify(targetObj))?//object->string->objectfunction deepClone(obj){
? ?let objClone = Array.isArray(obj)?[]:{};
? ?if(obj && typeof obj==="object"){
? ? ? ?for(key in obj){
? ? ? ? ? ?if(obj.hasOwnProperty(key)){
? ? ? ? ? ? ? ?//判斷ojb子元素是否為對象,如果是,遞歸復(fù)制
? ? ? ? ? ? ? ?if(obj[key]&&typeof obj[key] ==="object"){
? ? ? ? ? ? ? ? ? ?objClone[key] = deepClone(obj[key]);
? ? ? ? ? ? ? ?}else{
? ? ? ? ? ? ? ? ? ?//如果不是,簡單復(fù)制
? ? ? ? ? ? ? ? ? ?objClone[key] = obj[key];
? ? ? ? ? ? ? ?}
? ? ? ? ? ?}
? ? ? ?}
? ?}
? ?return objClone;} ?查看全部 -
2、檢測某一個(gè)想要的數(shù)據(jù)的數(shù)據(jù)類型
Object.prototype.toString.call('1')? ? ?//string
Object.prototype.toString.call([])? ? //Array? ? ?也是用來檢測
查看全部 -
//?只復(fù)制第一層的淺拷貝function?simpleCopy(obj1)?{ ???var?obj2?=?Array.isArray(obj1)???[]?:?{}; ???for?(let?i?in?obj1)?{ ???obj2[i]?=?obj1[i]; ??} ???return?obj2;} ??? ???var?obj1?=?{ ???a:?1, ???b:?2, ???c:?{ ?????????d:?3 ??????}} ?????? ??????var?obj2?=?simpleCopy(obj1); ??????obj2.a?=?3; ??????obj2.c.d?=?4;
查看全部 -
記錄一個(gè)筆記
查看全部 -
課程注意有一定前端基礎(chǔ)ES5相關(guān)VSCode 火狐 谷歌查看全部
-
課程注意有一定前端基礎(chǔ)ES5相關(guān)VSCode 火狐 谷歌
查看全部 -
Function與Object的關(guān)系:
查看全部 -
typeof: 返回的是一個(gè)字符串,字符串用來說明類型,返回的結(jié)果有number,boolean,string,function(函數(shù)),object(Null,數(shù)組,對象),undefined,Null
instanceof: 判斷A instanceof B??A是否為B的實(shí)例對象 返回的是bool類型: true false
查看全部 -
圖解原型和原型鏈
查看全部 -
面向?qū)ο?/p>
查看全部
舉報(bào)