Javascript中的内建对象
- Math的常用属性和方法
- 一、Math的常用属性
- 二、Math的常用方法
- String的常用属性和方法
- 三、String对象的创建
- 四、String的属性
- 五、String的常用方法
- Number的常用属性和方法
- 六、Number的常用属性
- 七、Number的常用方法
- Date的常用属性和方法
- 八、获取时间对象
- 九、时间的获取方法
- 十、时间的设置方法
- 十一、Date方法案例
Math的常用属性和方法
一、Math的常用属性
-
Math.PI 返回圆周率(约等于3.14159)
Math.PI/180*60 60度角度转弧度
-
Math.SQRT1_2 返回2的平方根的倒数,约等于0.707
-
Math.SQRT2 返回2的平方根,约等于1.414
二、Math的常用方法
-
Math.abs(x) 返回数的绝对值
-
Math.ceil(x) 向上取整
-
Math.floor(x) 向下取整
-
Math.round(x) 四舍五入
-
Math.max() 取最大值,可以带入多个实参
-
Math.min() 取最小值,可以带入多个实参
var arr = [5,6,2,100,88,188,3,1,4]; console.log(Math.max.apply(null,arr)); //取数组的最大值 console.log(Math.min.apply(null,arr)); //求数组的最小值
-
Math.pow(x,y) 返回x的y次幂
-
Math.sqrt(x) 返回数的平方根
-
Math.random() 返回0-1之间的随机数
//拓展1:返回x-y之间的随机数字 function random(x,y){ return Math.floor(Math.random()*(y-x)+x); } ``` ```bash //拓展2:随机颜色 var div1=document.getElementById("div1"); div1.onclick=function(){ this.style.backgroundColor=randomColor(); } function randomColor(){ var cor="#"; for(var i=1;i<7;i++){ cor+=Math.floor(Math.random()*16).toString(16); } return cor; }
String的常用属性和方法
三、String对象的创建
- var s=new String();
- var s=String();
四、String的属性
字符串的长度 length,这个属性是只能读不能写。
可以通过str[下标] 读取字符串中的字符
var str=new String(‘abc’);
console.log(str.length);
console.log(str[1]);
五、String的常用方法
-
str.charAt() 返回在指定位置的字符
str.charAt()相当于str[ ]
-
str.charCodeAt() 返回在指定位置字符的unicode编码
-
String.fromCharCode() 从字符编码创建一个字符串
-
str.concat() 连接字符串
-
str.indexOf() 检索字符串,返回对应的下标
-
str.lastIndexOf() 从后向前检索字符串,返回对应的下标
-
str.includes() 判断是否包含这个字符,会返回一个布尔值
-
str.search() 检索与正则表达式相匹配的值
-
str.match() 检索与正则表达式相匹配的值,返回这个值的信息组成的数组
-
str.replace() 替换与正则表达式相匹配的值,返回新字符串
var str1=str.replace(“c”,“z”);
var str1=str.replace(“c”,function(){}); -
str.slice() 提取字符串中两个指定的索引号之间的字符,并在新的字符串中返回被提取的部分
srt.slice(开始位置,结束位置)
-
str.substr() 从起始索引号提取字符串中指定数目的字符,开始位置可以设置负数
str.substr(开始位置,提取的数目)
-
str.sunstring() 提取字符串中两个指定的索引号之间的字符,如果有负数,默认为0,可以倒着截取
var s=str.substring(1,4);
var s=str.substring(4,1); -
str.toUpperCase() 把字符串转换为大写
-
str.toLowerCase() 把字符串转换为小写
-
str.split() 把字符串分割成字符串数组,与数组的join()方法相反,还可以用来做正则表达式切割
str.split(""); //根据空字符串分割
六、String方法案例
-
随机验证码
String.fromCharCode()
48-57 输出数字0-9
65-90 输出大写字母A-Z
97-122 输出小写字母a-zfunction getAuth(){ var arr=[]; for(var i=48;i<123;i++){ if(57<i&&i<65) continue; if(90<i&&i<97) continue; arr.push(String.fromCharCode(i)); } arr.sort(function(){ return Math.random()-0.5; }) arr.length=4; return arr.join(""); } var s=getAuth(); console.log(s);
-
正则表达式切割
search ? hash #var url="http://www.163.com/new/index.html?token=ashjd2i1nsdh21df2123&name=xietian&age=30"; //方法一 function getObject(url){ var obj={}; url=url.split("?")[1]; var arr=url.split("&"); for(var i=0;i<arr.length;i++){ var arr1=arr[i].split("="); obj[arr1[0]]=isNaN(arr1[1])?arr1[1]:Number(arr1[1]); } return obj; } console.log(getObject(url)); //方法二 function getObject(url){ return url.split('?')[1].split('&').reduce(function(value,item){ var arr=item.split("="); value[arr[0]]=isNaN(arr[1])?arr[1]:Number(arr[1]); return value; },{}) } console.log(getObject(url));
-
模糊查找
<input type="text" id="input"> <ul id="list"></ul> <script> var arr=[ {id:1001,name:"计算器",price:26}, {id:1002,name:"计算机",price:26}, {id:1003,name:"飞机",price:26}, {id:1004,name:"飞行器",price:26}, {id:1005,name:"算盘",price:26}, {id:1006,name:"电器",price:26}, {id:1007,name:"电视机",price:26}, ] var input=document.getElementById("input"); var list=document.getElementById("list"); input.oninput=function(){ list.innerHTML=arr.reduce(function(value,item){ if(item.name.indexOf(input.value)>-1) value+="<li>"+item.name+"</li>"; return value; },'') } </script>
Number的常用属性和方法
六、Number的常用属性
- Number.MAX_VALUE 表示最大的数
- Number.MIN_VALUE 表示最小的数
- Number.NaN 非数字值
七、Number的常用方法
- num.toString() 把数字转换成字符串,使用指定的基数
- num.toFixed() 把数字转换成字符串,可以设置保留多少位小数
- num.toExponentail() 把对象的转换为科学计数法
- num.toPrecision() 科学计数法转换为数值
Date的常用属性和方法
八、获取时间对象
var date=new Date();
//传递数字的方式创建指定日期的时间对象
var date=new Date(2021,7,15,12,00,00);
//传递字符串的方式创建指定日期的时间对象
var date=new Date(“2021/8/15 12:00:00”);
九、时间的获取方法
-
Date() 返回当日的日期和时间
-
date.getDate() 从Date对象返回一个月中的某一天(1-31)
-
date.getDay() 从Date对象返回一周中的某一天(0-6)
-
date.getMonth() 从Date对象中返回月份(0-11)
-
date.getFullYear() 从Date对象以四位数字返回年份
-
date.getHours() 返回Date对象的小时(0-23)
-
date.getMinutes() 返回Date对象的分钟(0-59)
-
date.getseconds() 返回Date对象的秒数(0-59)
-
date.getMilliseconds() 返回Date对象的毫秒(0-999)
-
date.getTime() 返回从1970年到当前时间的毫秒数
Date.now() 返回从1970年到现在的毫秒数
-
date.getUTCHours() 返回国际时间(格林尼治时间)
十、时间的设置方法
- date.setDate() 设置Date对象中月的某一天(1-31)
- date.setMonth() 设置Date对象中的月份
- date.setFullyear() 设置Date对象中的年份(四位数字)
- date.setHours() 设置Date对象中的小时(0-23)
- date.setMinutes() 设置Date对象中的分钟(0-59)
- date.setSeconds() 设置Date对象中的秒钟(0-59)
- date.setMlilliseconds() 设置Date对象中的毫秒(0-999)
- date.setTime() 以毫秒设置Date对象
十一、Date方法案例
-
设置时间戳
//给图片设置时间戳,每次都从服务器获取图片 <img id="imgs"> <script> var imgs=document.getElementById('imgs'); document.onclick=function(){ imgs.src="https://img14.360buyimg.com/babel/s590x470_jfs/t1/161799/25/17024/142227/606e5369E40afc714/93afe6da257fd357.jpg?time="+new Date().getTime(); } </script>
-
计算时差
var timeList=[]; function startTime(){ return timeList.push(new Date().getTime())-1; } function endTime(id){ return new Date().getTime()-timeList[id]; } var id1=startTime(); for(var i=0;i<10000000;i++){ } var id2=startTime(); for(var i=0;i<10000000;i++){ } console.log(endTime(id1)); console.log(endTime(id2));
-
设置倒计时
var div1=document.getElementById('div1'); var date=new Date(); date.setMinutes(date.getMinutes()+5); setInterval(function(){ var s=(date.getTime()-new Date().getTime())/1000; div1.innerHTML=parseInt(s/60)+':'+parseInt(s%60); },1000)