一、内置对象
- js中三种对象:内置对象、自定义对象、浏览器对象
- 实例对象是指通过构造函数创建出来,然后实例化的对象(new关键字)
- 静态对象是指不需要创建,直接调用的对象,可以在整个JS里调用的公共对象。有点类似于全局变量
二、Math
- Math属性
console.log(Math.PI);//3.141592653589793(圆周率) console.log(Math.E);//2.718281828459045(自然对数的底数)
-
Math方法
//1.绝对值 console.log(Math.abs(-1));//1 console.log(Math.abs(1));//1 //2.向上取整 console.log(Math.ceil(2.01));//3 console.log(Math.ceil(2.5));//3 console.log(Math.ceil(2.99));//3 //3.向下取整 console.log(Math.floor(2.01));//2 console.log(Math.floor(2.5));//2 console.log(Math.floor(2.99));//2 //4.转换为离它最近的单精度浮点数形式的数字 console.log(Math.fround(1.1));//1.100000023841858 console.log(Math.fround(2 ** 150));//Infinity console.log(Math.fround("abc"));//NaN console.log(Math.fround(NaN));//NaN //5.取最大值和取最小值 console.log(Math.max(3,10,11,58,1,9,6));//58 console.log(Math.min(3,10,11,58,1,9,6));//1 console.log(Math.min(3,10,"abc",58,1,9,6));//NaN //6.数的指数次幂 console.log(Math.pow(2,2));//4 console.log(Math.pow(4,3));//64 //7.数的平方根 console.log(Math.sqrt(16));//4 console.log(Math.sqrt(0));//0 console.log(Math.sqrt(-16));//NaN //8. [0,1)的随机数 console.log(Math.random());//[0,1)的随机数 console.log(Math.random()*5);//[0,5)的随机数 console.log(Math.random()*5+1);//[1,6)的随机数 console.log(parseInt(Math.random()*5));//[0,5)的随机整数
- 案例
//例1 :自定义一个对象,实现Math.max的方法 function MyMath(){ //对象添加一个方法 this.getMax=function(){ //参数不确定,获取参数 var max=arguments[0]; for(var i=0;i<arguments.length;i++){ if(max<arguments[i]){ max=arguments[i]; } } return max; }; } //实例对象 var mt=new MyMath(); var result=mt.getMax(10,30,50,12,66,1); console.log(result);//66 //例2 :一个十六进制颜色值的数组 function getColor(){ //定义一个带#的字符串,用于开头 var str="#"; //定义一个数组,十六进制的每个数字和符号 var arr=["1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]; //因为需要六位数,所以循环六次 for(var i=0;i<6;i++){ //随机产生[0,16)的整数,作为下标 var num=parseInt(Math.random()*16) str=str+arr[num]; } return str; } var result=getColor(); console.log(result);//随机产生#1be513这样随机颜色值
三、Date
- 需要注意的是只能通过调用 Date 构造函数来实例化日期对象:以常规函数调用它(即不加 new 操作符)将会返回一个字符串,而不是一个日期对象。
var havenew=new Date(); var nonew=Date(); console.log(havenew);//Thu Apr 26 2018 11:08:13 GMT+0800 (中国标准时间) console.log(typeof havenew);//object console.log(nonew);//Thu Apr 26 2018 11:08:13 GMT+0800 (中国标准时间) console.log(typeof nonew);//string
- 常用
var dt1=new Date();//Thu Apr 26 2018 11:19:27 GMT+0800 (中国标准时间)-----现在的时间 var dt2=new Date(2018/4/2);//Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)-----输入的时间 var dt3=Date.now();//1524712810153--------1970年到现在的毫秒数(数字类型)
var dt=new Date(); console.log(dt.getFullYear());//2018--获取年份 console.log(dt.getMonth());//3--------获取月份,从0开始算的 console.log(dt.getDate());//26--------获取日期 console.log(dt.getHours());//11-------获取小时 console.log(dt.getMinutes());//25-----获取分钟 console.log(dt.getSeconds());//57-----获取秒 console.log(dt.getDay());//4----------获取星期几 console.log(dt.toString());//Thu Apr 26 2018 11:25:57 GMT+0800 (中国标准时间)----默认 console.log(dt.toDateString());//Thu Apr 26 2018-------日期 console.log(dt.toLocaleDateString());//2018/4/26--------日期 console.log(dt.toTimeString());//11:25:57 GMT+0800 (中国标准时间)-------时间 console.log(dt.toLocaleDateString());//2018/4/26--------时间 console.log(dt.valueOf());//1524713157751-------1970年到现在的毫秒数
- 格式化日期和时间
function getDate(dt){ var year=dt.getFullYear();//获取年 var month=dt.getMonth();//获取月 var day=dt.getDate()+1;//获取日 var hour=dt.getHours();//获取小时 var minute=dt.getMinutes();//获取分钟 var second=dt.getSeconds();//获取秒 //当一些数小于10的时候,前面添加一个0 month=month<10?"0"+month:month; day=day<10?"0"+day:day; hour= hour<10?"0"+ hour: hour; minute=minute<10?"0"+minute:minute; second=second<10?"0"+second:second; //返回格式化后的日期和时间 return year+"年"+month+"月"+day+"日"+hour+":"+minute+":"+second; } var today=new Date(); console.log(getDate(today));
四、String
五、Array