JS-實用方法

1、JS計算百分比javascript

function GetPercent(num, total) {
/// <summary>
/// 求百分比
/// </summary>
/// <param name="num">當前數</param>
/// <param name="total">總數</param>
num = parseFloat(num);
total = parseFloat(total);
if (isNaN(num) || isNaN(total)) {
return "-";
}
return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00)+"%";
}html

使用方法以下:java

GetPercent(1,100);
結果:
1%;

 

2、Js中獲取時間 new date()的用法json

獲取時間:瀏覽器

var myDate = new Date();//獲取系統當前時間
 myDate.getYear(); //獲取當前年份(2位)
 myDate.getFullYear(); //獲取完整的年份(4位,1970-????)
myDate.getMonth(); //獲取當前月份(0-11,0表明1月)
myDate.getDate(); //獲取當前日(1-31)
myDate.getDay(); //獲取當前星期X(0-6,0表明星期天)
myDate.getTime(); //獲取當前時間(從1970.1.1開始的毫秒數)
myDate.getHours(); //獲取當前小時數(0-23)
myDate.getMinutes(); //獲取當前分鐘數(0-59)
myDate.getSeconds(); //獲取當前秒數(0-59)
myDate.getMilliseconds(); //獲取當前毫秒數(0-999)
myDate.toLocaleDateString(); //獲取當前日期
var mytime=myDate.toLocaleTimeString(); //獲取當前時間
myDate.toLocaleString( ); //獲取日期與時間

JS獲取當前時間戳的方法mvc

JavaScript 獲取當前時間戳:
第一種方法:app

var timestamp =Date.parse(new Date());

獲得的結果:1280977330000 注意:這裏獲得的結果將後三位(毫秒)轉換成了000顯示,使用時可能會出現問題。例如動態添加頁面元素id的時候,不建議使用。函數

第二種方法:工具

var timestamp =(new Date()).valueOf();

結果:1280977330748post

第三種方法:

var timestamp=new Date().getTime();

結果:1280977330748

 

js中單獨調用new Date(),例如document.write(new Date());

顯示的結果是:Mar 31 10:10:43 UTC+0800 2012 這種格式的時間

 

可是用new Date() 參與計算會自動轉換爲從1970.1.1開始的毫秒數。

 

3、將"2018-08-24 12:12:12"從新調整日期字符串格式爲8月24日 12:12

 

function timeReset(resCreateDate) {
let timeStr = '';
let timeArr = resCreateDate.replace(" ", ":").replace(/\:/g, "-").split("-"); console.log(timeArr);
if(timeArr[1]<10){
timeStr = "" + timeArr[1].split("")[1] + "月" + timeArr[2] + "日\t" + timeArr[3] + ":" + timeArr[4] + "";
}else{
timeStr = "" + timeArr[1] + "月" + timeArr[2] + "日\t" + timeArr[3] + ":" + timeArr[4] + "";
}
return timeStr;
}

console.log(timeReset('2018-08-24 12:12:12'));

 

 

 4、JS函數傳遞字符串參數(符號轉義)

JS函數傳遞字符串參數,若是沒有轉義處理,在接收的時候沒法正確的接收字符串。
(1)在雙引號內

<a href="javascript:orderDetails(\''+compId+'\')">查看詳情</a>
<a href="javascript:void(0)" onclick="orderDetails(\''+compId+'\')">查看詳情</a>

(2)在單引號內

<a href='javascript:orderDetails(\""+orderId+"\",\""+compName+"\")'>查看詳情</a>
<a href='javascript:void(0)' onclick='orderDetails(\""+compId+"\",\""+compName+"\")'>查看詳情</a>

(3)拼接字符串時

let briefObj = 
' <button type="button" class="comp-detail-btn btn m-btn m-btn--gradient-from-primary m-btn--gradient-to-info"\n' +
' onclick="compDetailInfoModal(\''+compId+'\',\''+devCode+'\')">查看詳情</button>';

$("#idCompInfo").append(briefObj);

若是參數爲int類型,則不須要加引號和轉義

 

5、批量替換js對象中的屬性名

經過正則的方法進行過濾修改。

//高效將isCheck轉換成checked

// 先將json對象data轉爲json字符串,再替換你要替換的屬性名,最後再轉爲json對象

data = JSON.parse(JSON.stringify(data).replace(/isCheck/g,"checked"));

解釋:1)JSON.stringify()把json對象轉成json字符串;

          2)使用正則的replace()方法替換屬性名;

          3)JSON.parse()把json字符串又轉成json對象。

 

6、js 批量刪除對象中某一屬性及值

var a={"id":1,"name":"設備1"};

//添加屬性
a.level=2;
console.log(a);
//結果:Object { id: 1, name: "設備1", level: 2 }
//修改屬性
a.level= "3" ;
//結果:Object { id: 1, name: "設備1", level: "3" }
//刪除屬性
delete  a.level;
//結果:Object { id: 1, name: "設備1" }

 

7、JS獲取url傳過來的信息

/**
* 工具獲取url傳過來的信息
* @param name
* @returns {string}
* @constructor
*/
function GetQueryString(name) {

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); //獲取url中"?"符後的字符串並正則匹配
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}

 8、如何隱藏瀏覽器地址欄url參數

需求1:

用<A>標籤跳轉時候,常常會帶參數地址?a=1這樣的,可是我不想把a=1出如今地址欄的url上,應該怎麼寫代碼才能不顯示參數?

解答:

這個是不能夠的。可是能夠採用如下方法:
一、採用post提交模式,通常get提交模式會顯示錶單中提交的數據,好比帳號密碼等信息,可是採用post方式提交,URL中就會把這些信息進行進行加密的,此時經過地址欄就沒法看到該參數了。
二、後臺採用pathinfo模式的URL。通常PHP或者JSP都是支持的,此模式下,URL的傳參將會被隱藏,地址欄裏是按mvc模式進行URL訪問的。

 

需求2:

每次點擊頁面的按鈕時,使用window.location.href=「」時跳轉頁面地址欄都有參數信息。那麼怎麼樣才能隱藏地址欄參數呢?

解答:

首先必須本身動態建立一個表單,將表單method改成post,提交這個表單就ok了。

 

// ===============JavaScript=====================
function postToPage() {
var f=document.createElement('form');
f.style.display='none';
f.action='XXX.do';
f.method='post';
f.innerHTML='<input type="hidden" name="mail" value="'+$("#email").val()+'"/>';
document.body.appendChild(f);
f.submit();
}

// ===============JQuery=====================
function postToPage() {
var form = $("<form>");
form.attr("style","display:none");
form.attr("target","");
form.attr("method","post");
//請求地址
form.attr("action","XXX.do");
var input1 = $("<input>");
input1.attr("type","hidden");
input1.attr("name","path");
input1.attr("value",uploadPath);
$("body").append(form);
form.append(input1);
form.submit();
form.remove();
}
 【原文:https://blog.csdn.net/mibi8840/article/details/81488827 】

 

 9、url 參數值裏的漢字亂碼

curMenuName = decodeURI(decodeURI(亂碼的參數));

【參考:http://www.javashuo.com/article/p-whlzgolf-cz.html
相關文章
相關標籤/搜索