凡事就怕較真蒂胞,較真必有成長图呢,開始~
1.保存接口獲取輸入框數(shù)據(jù)
let obj = {
? ? name : " " ,
????age: " " ,
????sex: " " ,
????height: " " ,
} ;
$.each( obj , function ( key , value) {
? ? obj [ key ] = $('input[name= ' + key + ' ]? ').val() ;
}) ;
console.log(obj) ; //?{name: "張三", age: "13", sex: "男", height: "100cm"}
多余的obj屬性獲取到是undefined,delete掉或者重新賦值骗随,看實(shí)際情況蛤织。我在項(xiàng)目用的handlebars,直接tpl模板傳入數(shù)據(jù)鸿染,數(shù)據(jù)回顯相當(dāng)舒服(和后臺要接口文檔的重要性o(╯□╰)o)指蚜。
2.數(shù)據(jù)里面有" ' "單引號? 在個(gè)別特殊場景JSON.stringify會有問題。
<body>
????????<div?id="test"></div>
</body>
<script>????
????????let?data?=?{} ;????
????????data.content?=?" 你好 ' ' 你好? '你好 " ;????
????????data.age?=?13 ;????
????????data?=?JSON.stringify(data) ;????
????????let?html?=?' <p?data-p?=?\ ' '?+?data?+?' \ '>?你是個(gè)好人</p> ' ;
????????$('#test').html(html) ;????
????????console.log( $('#test?p').attr('data-p') ) ; //? {"content":"你好
</script>?
這種可能用戶輸入的內(nèi)容里面有兩個(gè)單引號涨椒,也可能存在XSS注入的情況摊鸡,獲取數(shù)據(jù)都會有問題。
之前在項(xiàng)目用的一個(gè)解決方法就是在JSON.stringify之前把單引號替換成轉(zhuǎn)義符"'"蚕冬。
data.content?=?data.content.replace( /(')/g , " ' " ) ;
let objType =?JSON.parse( $('#test?p').attr('data-p'))? ;
console.log(objType?) ; // {content: "你好''你好'你好", age: 13}??
Object.prototype.toString.call(objType?) ; // [object Object]
這樣獲取以及渲染在DOM都一切正常免猾。
3.判斷數(shù)據(jù)類型
? ??Object.prototype.toString.call() ;
? ??Object.prototype.toString.call('1') ; // [object String]
? ??Object.prototype.toString.call(1) ;? // [object Number]
4.時(shí)間戳轉(zhuǎn)時(shí)間
function tranformDate ( time ) {
? ? var timeDa = new Date ( time + 8*60*60*1000 ).toJSON () ;
? ? return timeDa.split ( 'T' ) [0] + ' ' +timeDa.split ( 'T' ) [1].split ( '.' )[0].split ( 'Z'? )[0] ;
};
tranformDate? (?1576746501000 ) ; //?"2019-12-19 17:08:21"
由于我所在公司的后端比較懶(哈哈)返回前端的是時(shí)間戳,寫一個(gè)時(shí)間戳轉(zhuǎn)時(shí)間的函數(shù)囤热。
5.css加載是由上而下猎提,從右至左,防止FOUC應(yīng)該盡量避免用@import引入赢乓,建議在head標(biāo)簽里用link加載
css忧侧,兼容性也好石窑。說到加載請求,我一般不太喜歡用CSS sprites蚓炬,雖然可以減少請求次數(shù)松逊,但是在http2多
路復(fù)用下,它的優(yōu)勢已經(jīng)小了很多肯夏。伴隨著管理麻煩经宏,更新一個(gè)圖標(biāo)就要更新整張圖片。
6.Chrome瀏覽器讓字體小于默認(rèn)最小的12px驯击。
設(shè)置transform: scale( )烁兰;// transform: scale( 0.5 , 0.5 );只有Chrome有最小12px限制徊都,ie沪斟、Firefox? ?最小
都可以為0。
沒有什么條理暇矫,想到什么寫什么主之,以上~