一.Math对象

console.log(Math.max(1,3,5)); //输出结果为5

  1. //利用Math得到1-10之间的随机整数,包含1和10
  2. function getRadom(min,max){
  3. return Math.floor(Math.random()*(max-min+1))+min;
  4. }
  5. console.log(getRadom(1,10));
  1. //封装数学对象,PI、最大值和最小值
  2. var myMath = {
  3. PI:3.1415926,
  4. max:function(){
  5. var max = arguments[0];
  6. for(var i = 1; i<arguments.length; i++){
  7. if(arguments[i]>max){
  8. max = arguments[i];
  9. }
  10. }
  11. return max;
  12. },
  13. min:function(){
  14. var min = arguments[0];
  15. for(var i = 1; i<arguments.length; i++){
  16. if(arguments[i]<min){
  17. min = arguments[i];
  18. }
  19. }
  20. return min;
  21. }
  22. }
  23. console.log(myMath.PI);
  24. console.log(myMath.max(1,5,9));
  25. console.log(myMath.min(10,50,90));
  1. //1-10猜数字游戏
  2. function getRadom(min,max){
  3. return Math.floor(Math.random()*(max-min+1))+min;
  4. }
  5. var random = getRadom(1,10);
  6. var c = 10;//次数
  7. for(i=9;i>=0;i--){
  8. var num = prompt('请输入1-10之间的数字');
  9. c = c-1;
  10. if(num > random){
  11. alert('数字大了,您还有'+i+'次机会');
  12. }else if(num<random){
  13. alert('数字小了,您还有'+i+'次机会');
  14. }else{
  15. var b = 10 - i;
  16. alert('您猜对了,用了'+b+'次机会');
  17. break;
  18. }
  19. }

二.Date对象

Date()是一个构造函数,必须使用new来创建调用

  1. var date = new Date();
  2. console.log(date);
  1. // 格式化年月日
  2. var date = new Date();
  3. var year = date.getFullYear();
  4. var month = date.getMonth()+1;
  5. var dates = date.getDate();
  6. var arr = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'];
  7. var day = date.getDay();
  8. console.log('今天是:'+ year + '年'+ month + '月' + dates + '日' + arr[day]);
  1. //封装函数返回当前的时分秒
  2. function getTimer(){
  3. var time = new Date();
  4. var h = time.getHours();
  5. var m = time.getMinutes();
  6. var s = time.getSeconds();
  7. h = h < 10? '0'+h : h;
  8. m = m < 10? '0'+m : m;
  9. s = s < 10? '0'+s : s;
  10. return h + ':' + m + ':' + s;
  11. }
  12. console.log(getTimer());
  1. // 封装倒计时函数
  2. function countDown(time){
  3. var nowTime = +new Date();
  4. var inputTime = +new Date(time);
  5. var times = (inputTime - nowTime)/1000;//剩余时间毫秒数
  6. var d = parseInt(times/60/60/24);//天数
  7. d = d<10? '0'+d : d;
  8. var h = parseInt(times/60/60%24);//小时
  9. h = h<10? '0'+h : h;
  10. var m = parseInt(times/60%60);//分
  11. m = m<10? '0'+m : m;
  12. var s = parseInt(times%60);//秒
  13. s = s<10? '0'+s : s;
  14. return d + '天' + h + '时' + m + '分' + s + '秒';
  15. }
  16. console.log(countDown('2020-5-1 18:00:00'));
  1. // 时间戳转日期
  2. function timesToDate(timesStamp) {
  3. var date = new Date(timesStamp * 1000); //时间戳10位需要*1000,时间戳位13位不需要*1000
  4. var y = date.getFullYear()
  5. var mon = date.getMonth() + 1
  6. var d = date.getDate()
  7. var h = date.getHours()
  8. var m = date.getMinutes()
  9. var s = date.getSeconds()
  10. h = h < 10? '0' + h : h
  11. m = m < 10? '0' + m : m
  12. s = s < 10? '0' + s : s
  13. return y + '-' + mon + '-' + d + ' ' + h + ':' + m + ':' + s
  14. }

三.数组对象


A 运算符:
intanceof**

  1. var arr= [1,2,3];
  2. console.log(arr intanceof Array);
  3. //返回结果为true,证明arr是一个数组

B 方法:Array.isArray() 它为H5新增的方法,只有IE9以上版本的浏览器支持

  1. var arr = [4,5,6];
  2. console.log(Array.isArray(arr));
  3. //返回结果为true,arr为数组

2.添加数组元素的方法
A 在数组末尾添加新的元素:push()

  1. var arr = ['A','B','C'];
  2. cosole.log(arr.push(4));
  1. // 利用push(),把数组中大于2000的删除,其余保存到新数组中
  2. var arr = [1500,1200,2000,2100,1800];
  3. var newArr = [];
  4. for(var i=0; i<arr.length; i++){
  5. if(arr[i]<2000){
  6. newArr.push(arr[i]);
  7. }
  8. }
  9. console.log(newArr);

B 在数组开头添加新的元素:unshift()

  1. var arr = ['red','green','blue'];
  2. cosole.log(arr.unshift('purple'));

3.删除数组元素
A 删除数组最后一个元素 pop()

  1. var arr = ['张三','李四','王五'];
  2. cosole.log(arr.pop());

B 删除数组第一个元素 shift()

  1. var arr = ['昨天','今天','明天'];
  2. cosole.log(arr.shift());

4.翻转数组和数组冒泡排序
A 翻转数组 reverse()

  1. var arr = ['red','blue','green'];
  2. arr.reverse();
  3. console.log(arr);

B 冒泡排序 sort()

  1. var arr = [13,4,77,1,7];
  2. arr.sort(function(a,b){
  3. return a - b;//按升序排列,降序为b-a
  4. });
  5. console.log(arr);

5.获取数组元素索引
A indexOf() PS:如果该数组里面找不到元素,则返回的是-1

  1. var arr = ['red','blue','green'];
  2. console.log(arr.indexOf('blue'));

B lastIndexOf 从数组最末尾开始查找,其余与indexOf()相同

  1. // 数组去重函数
  2. function unique(arr){
  3. var newArr = [];
  4. for(var i=0; i<arr.length; i++){
  5. if(newArr.indexOf(arr[i]) === -1){
  6. newArr.push(arr[i]);
  7. }
  8. }
  9. return newArr;
  10. }
  11. var demo = unique(['c','a','z','a','x','a','x','c','b']);
  12. console.log(demo);

6.数组转换为字符串
01 toSting()

  1. var arr = ['1','2','3'];
  2. console.log(arr.toString());

02 join() 可以使用任意分隔符

  1. var arr = ['green','blue','red'];
  2. console.log(arr.join('-'));

四.字符串对象

1.基本包装类:把简单数据类型包装成为了复杂数据类型,这样简单数据类型就有了属性和方法。

  1. var str = 'andy';
  2. console.log(str.length);

2.根据字符返回位置
indexOf(‘要查找的字符’,起始位置)

  1. var str = '肖申克的救赎,真的好看';
  2. console.log(str.indexOf('的',0));//从索引值为0的位置开始查找,返回值为3
  1. // 求下列字符串中o出现的位置及次数
  2. var str = 'abcoefoxyozzopp';
  3. var index = str.indexOf('o');
  4. var num = 0;
  5. while(index != -1){
  6. console.log(index);
  7. num++;
  8. index = str.indexOf('o',index+1);
  9. }
  10. console.log('o出现的次数为' + num);

3.根据位置返回字符
A charAt(index) 根据位置返回字符

  1. var str = 'adny';
  2. console.log(str.charAt(3));

B str[index] H5新增方法,与chartAt作用相同。但只支持IE8以上版本的浏览器

  1. // 统计出现最多的字符和次数
  2. var str = 'abcoefoxyozzopp';
  3. var o = {};
  4. for(var i=0; i<str.length; i++){
  5. var chars = str.charAt(i);
  6. if(o[chars]){
  7. o[chars]++;
  8. }else{
  9. o[chars] = 1;
  10. }
  11. }
  12. console.log(o);
  13. // 遍历对象
  14. var max = 0;
  15. var ch = '';
  16. for(var k in o){
  17. if(o[k]>max){
  18. max = o[k];
  19. ch = k;
  20. }
  21. }
  22. console.log(max);
  23. console.log('最多的字符是' + ch)

4.拼接和截取字符串
A 拼接字符串:concat()

  1. var str = 'hello';
  2. console.log(str.concat('world'));//helloworld

B 截取字符串:substr(‘截取的起始位置’,’截取几个字符’)

  1. var str = '我和我的祖国';
  2. console.log(str.substr(2,2));

5.替换字符和字符转换数组
A 替换字符:replace(‘被替换字符’,’替换的字符’)

  1. //将下列字符串中的o替换为*
  2. var str = 'abcoefoxyozzopp';
  3. while(str.indexOf('o') !== -1){
  4. str = str.replace('o','*');
  5. }
  6. console.log(str);

B 字符转换数组

  1. var str = 'red,blue,green';
  2. console.log(str.split(','));