格式化貨幣
該函式將數字四捨五入到兩位小數,並且確保有兩位小數。
function CurrencyFormatted(amount) {
var i = parseFloat(amount);
if(isNaN(i)) { i = 0.00; }
var minus = '';
if(i < 0) { minus = '-'; }
i = Math.abs(i);
i = parseInt((i + .005) * 100);
i = i / 100;
s = new String(i);
if(s.indexOf('.') < 0) { s += '.00'; }
if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
s = minus + s;
return s;
}
複製程式碼
獲取url中引數的值
function getQueryString(key) {
let reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
let result = window.location.search.substr(1).match(reg);
return result ? decodeURIComponent(result[2]) : null;
}
複製程式碼
深度克隆
/**
* 簡單Object物件的深拷貝:通過遞迴迴圈一層層進行呼叫
* JSON.parse(JSON.stringify)也可用於深拷貝,但是遇到undefined、function、symbol等會自動忽略
* concat、slice可以用於單層陣列的深拷貝
*
* */
function deepClone(source) {
const targetObj = source.constructor === Array ? [] : {}; //判斷複製的物件是陣列還是物件
for (let keys in source) {
if (source.hasOwnProperty(keys)) {
if (source[keys] && typeof source[keys] === 'object') { //如果值是物件就遞迴呼叫
targetObj[keys] = source[keys].constructor === Array ? [] : {};
targetObj[keys] = deepClone(source[keys]);
} else {
targetObj[keys] = source[keys];
}
}
}
return targetObj;
}
複製程式碼