JS內建物件
阿新 • • 發佈:2020-07-14
// 常量資料不能修改 console.log(Math.PI); console.log(Math.SQRT2); console.log(Math.SQRT1_2); // Math.PI/180*60 // abs 絕對值 非負值 console.log(Math.abs(-5.352)); // 將小數點求整數 Math.ceil(); //向上舍入 Math.floor(); //向下舍入 Math.round(); //四捨五入 var a=3.54; var a=-3.4 // -3.6 -4+0.4=-4 // -3.5 -4+0.5=-4+1=-3 console.log(Math.round(a)); var a=3.2; console.log(Math.ceil(a));//整數+1 console.log(Math.floor(a)); // max min var max=Math.max(3,5,7); console.log(max) var min=Math(1,5,8); var arr=[2,24,5,7,3,2,1,7,4,22,56]; var max=Math.max.apply(null,arr); var min=Math.min.apply(null,arr); console.log(max,min); //sqrt 平方根 pow 冪 var n=Math.sqrt(4); console.log(n); var a=10; var s=Math.pow(a,2);//多少次冪 var s=Math.pow(a,1/2);//平方根 var s=Math.pow(a,1/3);//立方根
Number方法
// Number.MAX_VALUE // Number.MIN_VALUE // Number.NaN // NaN var a=10; a= a.toLocaleString(); console.log(a); var a=356.274; console.log(a.toPrecision(5));//1-21 四捨五入的作用 var a=0.0057; console.log(a.toExponential(2));
String方法
var str="aa"; var str1=new String("aa"); // 字元型別 正則表示式 // length 字元長度 只讀 var str="abcd"; str.length=0;//ES6 報錯 console.log(str.length);//只能獲取不能修改 console.log(str[1]);//b str[1]="e" 禁止使用這種方式修改字串 console.log(str.charAt(1));//str[1]; console.log(str.concat("eeee"));//str+="eeee"; var age=10; console.log("今年你"+age+"歲了"); console.log("今年你".concat(age,"歲了")); console.log(str.indexOf("a"));//查詢a字元是否在字串中存在,如果不存在返回-1 str.indexOf("a",position);//從第幾個開始查詢 str.lastIndexOf("a") 從尾部向前查詢 var arr=[ {id:1001,name:"計算機",price:4999}, {id:1002,name:"電機",price:1999}, {id:1003,name:"記事本",price:9}, {id:1004,name:"課本",price:99}, {id:1005,name:"計算器",price:149}, ]; var arr1=arr.filter(function(item){ return item.name.indexOf("本")>-1; }) console.log(arr1); var str="abcd"; console.log(str.charCodeAt(0));//獲取下標是0的字元的Unicode編碼 String.fromCharCode(97); //編碼轉換為字串 // replace var str="abcdefcd"; str=str.replace("b","z");//字串的方法不能修改原字元,返回替換後的新字串 str=str.replace("c","z");//暫時只能替換一個字元 str=str.replace("c","c1");//既是替換又是插入字元 str=str.replace("cd",function(item){ console.log(item); return item+"1"; }) console.log(str); var str="abcde"; var index=str.search("a"); //search可以用於正則表示式查詢 // 字串的正則表示式,將查詢的結果以陣列的形式返回 var arr=str.match("c") console.log(arr); // slice 和陣列的slice等同 //隨機顔色 function randomColor(){ var col="#"; for(var i=0;i<6;i++){ col+=Math.floor(Math.random()*16).toString(16); } return col; } function randomColor(){ var col="rgb("; for(var i=0;i<3;i++){ col+=Math.floor(Math.random()*256)+"," } col=col.slice(0,-1)+")"; return col; } function randomColor(){ return "#"+Array(6).fill(Math.floor(Math.random()*16).toString(16)).join(""); } <style> div{ width: 100px; height: 100px; } </style> <div id="div0"></div> var div0=document.getElementById("div0"); div0.style.backgroundColor=randomColor(); div0.onclick=function(){ div0.style.backgroundColor=randomColor(); } var str="abcdefg"; str=str.substring(start,end);//擷取字串從start到end結束 // substring,start和end都不支援負數,負數代表0之前,就是最前面 // slice只能從前向後選 // substring可以從後向前選 console.log(str.substring(5,2)) var str="中國的四大名著中《西遊記》是吳承恩寫的"; str=str.substring(str.indexOf("《")+1,str.indexOf("》")); console.log(str); str.substr(start,length);//擷取從字串start開始,按照給出長度擷取固定的字串 str=str.substr(str.indexOf("《")+1,3); console.log(str); console.log(str.toUpperCase()); console.log("XIETIAN".toLowerCase()); // split 切割,使用某個符號切割,和陣列的join相反 var arr=[1,2,3,4,5,6]; var str=arr.join("#"); console.log(str); var arr1=str.split("#"); console.log(arr1); var str="abcdef"; var arr=str.split(""); console.log(arr); // 轉換成陣列,然後反轉,然後再用""連線 str=str.split("").reverse().join(""); console.log(str); var url="https://detail.tmall.com/item.htm?id=570063940353&ali_refid=a3_430406_1007:116401153:J:157145175_0_1069023083:ddc80320c499f96850f409bbea969fa6&ali_trackid=85_ddc80320c499f96850f409bbea969fa6&spm=a21bo.2017.201874-sales.15"; // queryString function getURLPram(url){ url=url.split("?")[1]; var obj={}; var arr=url.split("&"); for(var i=0;i<arr.length;i++){ var str=arr[i]; var arr1=str.split("="); obj[arr1[0]]=arr1[1]; } return obj; } function getURLPram(url){ return url.split("?")[1].split("&").reduce(function(value,item){ var arr=item.split("="); value[arr[0]]=arr[1]; return value; },{}) } var obj= getURLPram(url); console.log(obj);
Date物件
var date=new Date(); console.log(date); var year=date.getFullYear(); var month=date.getMonth();//0-11 var day=date.getDate();//日期 var week=date.getDay();//星期 0-6 0星期日 var hour=date.getHours(); var minutes=date.getMinutes(); var second=date.getSeconds(); var ms=date.getMilliseconds(); var h=date.getUTCHours(); var time=date.getTime();//時間戳 從1970.1.1到現在的毫秒數 // 永遠不重複,唯一 console.log(h); var url="....?time="+new Date().getTime(); function fn1(){ var s=0; for(var i=0;i<1000;i++){ s+=i; } } function fn2(s,i){ if(!s) s=0; if(!i) i=0; i++; s+=i; if(i<1000) fn2(s,i); } var time=new Date().getTime(); Utils.timeStart(); var id1=Utils.ts(); for(var i=0;i<10000;i++){ fn1(); } console.log(Utils.timeEnd()); console.log(new Date().getTime()-time); time=new Date().getTime(); Utils.timeStart(); var id2=Utils.ts(); for(var j=0;j<10000;j++){ fn2(); } console.log(Utils.te(id2)); console.log(Utils.te(id1)); console.log(Utils.timeEnd()); console.log(new Date().getTime()-time); var date=new Date(); console.log(date.toLocaleString());//轉換為本地時間 console.log(date.toUTCString());//轉換為格林尼治時間,後面的cookie使用 var date=new Date(); // 任何設定如果數值大於該值域的最大值時,就會進位 date.setFullYear(2021); date.setMonth(12); console.log(date); date.setMinutes(date.getMinutes()+30);//設定30分鐘後 // 每次new Date就會獲取new這個時間的當時值 var date=new Date(); console.log(date.getSeconds()); setTimeout(function(){ var d=new Date(); console.log(d.getSeconds()); },2000)