JavaScript的对象分为三种:自定义对象,内置对象,浏览器对象
前面两种对象是JS基础内容,属于ECMAScript,第三种属于JS独有的
Math对象中的一些属性和方法以及封装一个自己的数学对象
//Math数学对象的一些属性和方法 console.log(Math.PI);//输出圆周率 console.log(Math.max(1,99,56));//输出99 console.log(Math.max(-1,-10));//输出-1 console.log(Math.max(1,99,'黎明'));//输出NaN console.log(Math.max());//输出-infinity //2.三个取整方法,(1)向下取整 console.log(Math.floor(1.8));//1 //向上取整 console.log(Math.ceil(1.2));//2 //四舍五入 console.log(Math.round(2.1));//2 console.log(Math.round(2.5));//3 console.log(Math.round(-1.1));//-1 console.log(Math.round(-1.5));//-1,往大了取 //自己尝试封装一个对象 var myMath={ PI:3.1415926, max:function(){ var max=arguments[0]; for(i=1;i<arguments.length;i++){ if(arguments[i]>max){ max=arguments[i]; } } return max; }, min:function(){ var min=arguments[0]; for(i=1;i<arguments.length;i++){ if(arguments[i]<min){ min=arguments[i]; } } return min; } } console.log(myMath.PI); console.log(myMath.max(4,8,13)); console.log(myMath.min(2,4,7));
Math对象的随机数方法
//Math对象随机数方法 random()返回一个随机的小数[0,1) console.log(Math.random()); //2.得到两个数之间的随机整数,并且包含这两个数 function getRandom(min,max){ return Math.floor(Math.random()*(max-min+1))+min; } console.log(getRandom(1,10)); var arr=['黄轩','热依扎','德福','德宝','大有叔'] console.log(arr[getRandom(0,arr.length-1)]);
猜数字游戏案例:
function getRandom(min,max){ return Math.floor(Math.random()*(max-min+1))+min; } var num=getRandom(1,10); // var num1=prompt('请输入你的幸运数学'); // if(num1>num){ // alert('你输入的数字大了'); // }else if(num1<num){ // alert('你输入的数字小了') // }else{ // alert('恭喜你,你就是幸运之星') // } while(true){ var num1=prompt('请输入你的幸运数学'); if(num1>num){ alert('你输入的数字大了'); }else if(num1<num){ alert('你输入的数字小了') }else{ alert('恭喜你,你就是幸运之星') break; }
- 日期对象的使用:是一个构造函数,必须使用new来调用创建我们的日期对象
//1.使用Date,如果没有参数 返回当前系统的当前时间 var date=new Date(); console.log(date); var date1=new Date('2021-10-28'); console.log(date1); var date2=new Date('2020-10-1 8:8:8'); console.log(date2); //写一个日期案例 var year =date.getFullYear(); var month=date.getMonth(); var dates=date.getDate(); var arr=['星期日','星期一','星期二','星期三','星期四','星期五','星期六']; var days=date.getDay(); console.log('今天是'+year+'年'+month+'月'+dates+'日'+arr[days]); //时分秒 var date=new Date(); console.log(date.getHours());//时 console.log(date.getMinutes());//分 console.log(date.getSeconds());//秒 //封装一个函数返回当前的时分秒 function getTime(){ var time=new Date(); var h=time.getHours(); h<10? '0'+h:h; var m=time.getMinutes(); m<10? '0'+m:m; var s=time.getSeconds(); s=s<10? '0'+s:s; return '现在是'+h+'时'+m+'分'+s+'秒'; } console.log(getTime());
Date总的毫秒数(时间戳):距离1970年1月1号过了多少毫秒数;四种写法
//1.通过valueOf getTime() var date =new Date(); console.log(date.valueOf()); console.log(date.getTime()); //2.简单常用的写法 var date1=+new Date(); console.log(date1); //H5新增的写法 console.log(Date.now());
倒计时案例:
//转换公式 //d=parseInt(总秒数/60/60/24); 计算天数 //h=parseInt(总秒数/60/60%24); 计算小时 //m=parseInt(总秒数/60%60); 计算分钟 //s=parseInt(总秒数%60); 计算当前秒数 function conutDown(time){ var nowtime=+new Date(); var inputtime=+new Date(time); var times=(inputtime-nowtime)/1000; var d=parseInt(times/60/60/24); d=d<10? '0'+d:d; var h=parseInt(times/60/60%24); h=h<10? '0'+h:h; var m=parseInt(times/60%60); m=m<10? '0'+m:m; var s=parseInt(times%60); s=s<10? '0'+s:s; return d+'天'+h+'小时'+m+'分钟'+s+'秒'; } console.log(conutDown('2021-5-28 22:00:00')); var date=new Date(); console.log(date);
- 数组对象
//复习创建数组的两种方式 //1.利用数组字面量 var arr=[1,2,3]; console.log(arr[0]); //利用new Array() //var arr1=new Array();//创建一个空的数组 //var arr1=new Array(2);创建一个长度为2的数组 里面有两个空的数组元素 var arr1=new Array(2,3);//等价于[2,3] 这样写表示里面有两个数组元素 是2和3 console.log(arr1); //翻转数组案例 function reverse(arr){ var arr1=[]; if(arr instanceof Array){ for(var i=arr.length-1;i>=0;i--){ arr1[arr1.length]=arr[i]; } return arr1; }else{ return '你输入的不是数组格式'; } } console.log(reverse([1,2,3,4])); console.log(reverse(1,2,3)); //检测是否为数组格式 方式1:instanceof运算符 var arr=[]; var obj={}; console.log(arr instanceof Array);//true console.log(obj instanceof Array);//false //方式二:Array.isArray(参数) console.log(Array.isArray(arr));//true console.log(Array.isArray(obj));//false
添加或者删除数组元素方法:
1.push():push可以直接给数组后面追加新的元素/push完毕之后返回的结果时新数组的长度/原数组也会发生变化
2.unshift():unshift可以直接给数组前面追加新的元素/unshift完毕之后返回的结果时新数组的长度/原数组也会发生变化
//1.push() 在数组的末尾 添加加一个或者多个数组的元素 var arr=[1,2,3]; // arr.push(4,'绘梨衣'); console.log(arr.push(4,'绘梨衣')); console.log(arr); //unshift方法 var arr=[1,2,3]; console.log(arr.unshift(5,'夏目')); console.log(arr);
3.pop():可以删除数组的最后一个元素 记住一次只能删除一个元素/pop()没有参数/pop完毕之后,返回的结果是 删除的那个元素/原数组也会发生变化
4.shift():可以删除数组的第一个元素,一次只能删除一个元素/shift没有参数/shift完毕之后,返回的结果是删除的那个元素/原数组会发生变化
console.log(arr.pop()); console.log(arr); console.log(arr.shift()); console.log(arr);
筛选数组案例:
var arr=[1520,1200,2000,2100,1800]; var arr1=[]; for(var i=0;i<arr.length;i++){ if(arr[i]<2000){ // arr1[arr1.length]=arr[i]; arr1.push(arr[i]) } } console.log(arr1);
数组排序:
//1.翻转数组 var arr=[1,2,5]; arr.reverse(); console.log(arr); //2.数组排序(冒泡排序) var arr1=[4,13,67,345,111,44]; arr1.sort(function(a,b){ return a-b;//升序的顺序排序 // return b-a;//降序的顺序排序 }); console.log(arr1);
数组索引方法:
方法名 说明 返回值 indexOf() 在数组中查找给定元素的第一个索引 如果存在返回索引号,如果不存在,则返回-1 lastIndexOf() 在数组的最后一个索引 如果存在则返回索引号 如果不存在,则返回-1
数组去重案例:
//数组去重案例 function unique(arr){ var arr1=[]; for(var i=0;i<arr.length;i++){ if(arr1.indexOf(arr[i])==-1){ arr1.push(arr[i]); } } return arr1; } var demo=unique(['c','a','z','a','x','a','x','c','b']); console.log(demo);
数组转换为字符串:
1.toString():把数组转换成字符串,逗号分隔每一项 、返回一个字符串
2.join(''分隔符):方法用于把数组中所有元素转换为一个字符串,返回一个字符串
//数组转换为字符串 //1.toString()将我们的数组转换为字符串 var arr=[1,2,3]; console.log(arr.toString()); //2.join(分隔符) var arr1=['路明非','楚雨航','诺诺']; console.log(arr1.join('&'));
PS:2021.5.28天气有点热,wifi断了一天多了,卡信号也不好,只能跑天台来开热点写了