前端經常碰到的小知識點-----js篇
一 js
1.可視區寬和高
① document.documentElement.clientWidth //可視區的寬度
document.documentElement.clientHeight //可視區的高度
②100 vw //可視區的寬度
100 vh //可視區的高度
vw : 1vw 等於視口寬度的1%
vh : 1vh 等於視口高度的1%
2.正則表示式
正則表示式描述了一種字串匹配的模式,可以用來檢查一個串是否含有某種子串,將匹配的字串替換或者從某個串中取出符合某個條件的字串。、
使用途徑:1.只要按規則模糊匹配多個關鍵詞時2.只要按規則驗證字串是否符合要求
使用方式: 1. 只用正則直接量: var reg=/正則/ig; 2. 用new: var reg=new RegExp("正則","ig");
String中常用正則API:
檢索:
1.查詢一個固定關鍵詞出現的位置
var i=str.indexOf("關鍵詞",fromi)
var i=str.lastIndexOf("關鍵詞",fromi)
2. 判斷是否包含符合規則的關鍵詞:
var i=str.search(/正則/i)
3. 獲得所有關鍵詞的內容:
var i=str.match(/正則/ig); 如果不加g: match也相當於search,但可獲得關鍵詞內容: [0:"關鍵詞",index:i]
4. 即獲得每個關鍵詞的內容,又獲得每個關鍵詞的位置: reg.exec(str)
替換:
簡寫:將所有關鍵詞替換為統一的替換值
str =str,replace(/正則/ig,'替換值')
高階:根據關鍵詞的不同,替換不同的值
str = str.replace(/正則/ig,
function(kw,$1,$2,...){
return 根據kw判斷返回不同替換值
)
刪除:將關鍵詞替換為 ‘’
切割: var subStrs =str.split(/正則/);
3.isNaN()
isNaN()函式用於檢查其引數是否是非數字值。
isNaN(233); false
isNaN(ni); true
4.保留兩位小數或取整
四捨五入:
1.var num =2.3362412322;
num = num.toFixed(2); // 輸出結果為 2.34
不四捨五入:
2.Math.floor(15.66842340 * 100) / 100 // 輸出結果為 15.66
3.Number(15.66842340.toString().match(/^\d+(?:\.\d{0,2})?/)) // 輸出結果為 15.66
4.分享經典解決方法:
圖一取整
parseInt(2.56789) //2
Math.ceil(2.567) //2
Math.ceil(2.56789) //3
Math.round(2.5678) //3
m^0
m|0
m>>>0
連線:
var newArr=arr1.concat(arr2);//將arr2拼接到arr1之後,返回新陣列
注意: concat無權修改原陣列,只能返回新陣列,必須用變數接住拼接的結果。
concat中可以是任何型別的引數,可以是陣列,數字,字串
如果 .concat(值1,值2,arr2,....);,那麼.concat可以打散陣列型別的引數為單個值。
擷取子陣列:
var subArr=arr.slice(starti,endi+1);//擷取arr中starti位置開始到endi位置結束的子陣列。
注意: 含頭不含尾,結束位置要+1
支援負數引數:表示倒數第n個位置,其實執行的還是length-n
如果省略第二個引數,表示從starti位置直接擷取到結尾。
concat和slice都不可直接修改原陣列,必須使用新變數接收
刪除/插入/替換陣列
splice: 刪除,插入,替換
刪除: arr.splice(starti,n)
刪除arr中starti位置開始的n個元素
注意: n是個數,不考慮含頭不含尾
splice可返回刪除的元素組成的臨時陣列。
var deletes=arr.splice(starti,n)
插入: arr.splice(starti,0,值1,值2,...)
在arr的starti位置插入值1,值2,...,原starti位置及其之後的值,都被向後順移
注意: 0 表示不刪除,只插入新值
不支援打散陣列型別引數,如果傳入陣列,會形成子陣列
替換: var deletes=arr.splice(starti,n,值1,值2,...)
先刪除starti位置開始的n個,再在starti位置插入值1,值2。
注意: 刪除的元素個數,和插入新值得個數,不必一致。
conca和splicet:
concat: 優: 打散陣列型別引數
缺: 只能拼接在開頭或結尾
splice: 優: 可指定插入位置
缺: 不支援打散陣列引數