js中的内置对象

内置对象: 不用我们自己创建,js帮我们提供好的一些对象
这些对象是为了方便我们开发使用的。

Math对象:

一个属性 Math.PI: 3.1415xxxx
Math的方法:

  1. 求最大值和最小值
	// 参数: 无数个数字, 返回值:最大的那个数
	var result = Math.max(1, -2, 3, 100, 9);
    console.log(result);
    // 求最小值
    var result = Math.min(1, 2, 3, 4, 5);
    console.log(result);

2 取整

    // Math.ceil()  向上取整 只要有小数,值都取更大的那个数
    // Math.floor()  向下取整  取小的那个
    // Math.round()  四舍五入  满.5取大的 不满5 取小
    console.log( Math.ceil(2.01) );
    console.log( Math.ceil(2.99) );
    console.log( Math.ceil(-2.1) );
    console.log( Math.ceil(-2.9) );
    
    
    console.log( Math.floor(2.1) );
    console.log( Math.floor(2.9) );
    console.log( Math.floor(-2.1) );
    console.log( Math.floor(-2.9) );

    console.log( Math.round(1.5) );// 1
    console.log( Math.round(1.8) );// 2
    console.log( Math.round(-1.2) );//-1
    console.log( Math.round(-1.8) );//-2

3 求绝对值

	// Math.abs()
	console.log( Math.abs(-5) );
    console.log( Math.abs(5) );

4 平方

// Math.pow()
// 2的3次方法
console.log( Math.pow(2, 3) );
// 2的10次方
console.log( Math.pow(2, 10) );

5 开方

// Math.sqrt()
console.log(Math.sqrt(16));
Date对象

Date构造函数 如果需要一个日期的话,需要new Date

	// 创建了一个当前的日期
    // 1. new Date() 如果不传参数,表示的是当前的时间
    // 2. new Date(指定时间) 还可以创建一个指定时间
    var date = new Date();
    var date1 = new Date('2019-05-05');
    console.log(date1);

日期格式化问题:

	var date = new Date();
	// date.toString();
    // date.toLocaleString();  locale: 本地 当地
    console.log(date);
    console.log(date.toString());
    console.log(date.toLocaleString());

希望时间显示成这样: 2019-04-07 14:48:00

	var date = new Date();
    // 获取年份  date.getFullYear()
    var year = date.getFullYear();
    console.log(year);

    // 获取月份 date.getMonth()
    // 注意:月份 0-11  对应1月-12月  月份从0开始记
    var month = date.getMonth() + 1;
    console.log(month);

    // 获取星期 0-6  date.getDay()
    // 获取日  1-31      date.getDate()
    var day = date.getDate();
    console.log(day);

    // 小时
    var hour = date.getHours();
    console.log(hour);

    // 分钟
    var minute = date.getMinutes();
    console.log(minute);
    // 秒钟
    var second = date.getSeconds();
    console.log(second);
    
	// 补0
    function addZero(n) {
      return n < 10 ? '0' + n : n;
      // if (n < 10) {
      //   return '0' + n;
      // } else {
      //   return n;
      // }
    }
	var str = year + '-' + addZero(month) + '-' + addZero(day) + ' ' + addZero(hour) + ':' + addZero(minute) + ':' + addZero(second);
    console.log(str);

时间戳
时间戳是事件的 整数的表现形式
时间戳:1970年1月1日00:00:00 距离现在所过毫秒数
任何一个时间都可以转换成时间戳

时间戳的作用:计算两段时间的时间差

var date = +new Date();
console.log(date);

统计一段代码的执行时间:

	var begin = new Date();// 代码开始的时间
    var sum = 0;
    for(var i = 1; i < 1000000000; i++) {
      sum += i;
    }
    console.log(sum);
    var end = new Date(); // 代码执行结束的时间

    console.log(end - begin);

倒计时 距离18:30还有多久

var now = new Date();
    var off = new Date('2019-05-01 18:30:00');
    var time = off - now;
    
    // 把time变成秒钟
    time = parseInt(time / 1000);

    // 小时
    // 1小时 = 60 = 3600
    var hour = parseInt(time / 3600);
    console.log(hour);

    // 只需要显示 不足60的分钟
    var minute = parseInt(time/60) % 60;
    console.log(minute);

    var second = time % 60;
    console.log(second);
Array对象

Array是一个构造函数
var arr = new Array();

  • arr.join() :
    会把数组中的每一项都拼接起来,拼接成一个字符串
    参数: 分隔符, 默认是,
    返回值:拼接好的字符串
var arr = ['张飞', '赵云', '马超'];
var str = arr.join('');
console.log(str);
  • 数组的增删操作
    arr.push(): 在数组的最后面增加若干个元素 返回值:数组的新长度
    arr.unshift(): 在数组的前面增加若干个元素 返回值:数组的新长度
    arr.pop() : 在数组的最后面删除一个元素 返回值:删除掉的那个元素
    arr.shift(): 在数组的最前面删除一个元素 返回值:删除掉的那个元素

  • 数组的翻转与排序
    arr.reverse(); 翻转一个数组

	arr.reverse();
    console.log(arr);
  • 数组的排序
    arr.sort(); 数组的排序,数组的排序默认按照字符串的unicode码点进行排序
    arr.sort(); 如果不传参数,默认按照字符串的先后顺序
    arr.sort() 需要一个参数, 这个参数是一个函数 需要在函数中指定排序的规则

从小到大排

var arr = [1, 3, 5 , 7 ,9, 2 , 4 , 6, 8, 10]; 
	arr.sort(function(a, b){
      // 如果这个函数返回的结果 大于0   a和b会换位置
      // 如果小于等于 不交换位置

      // 如果a > b  a-b肯定大于0
      // 如果a = b  a-b 等于 0 不交换
      // 如果a < b  a-b 小于0  a还在b前面
      return b - a;
    });
    console.log(arr);

从大到小排

	var arr = [1, 5, 11, 33, 9, 1000, 800];
    arr.sort(function(a, b) {
      return b - a;
    });
    console.log(arr);
  • 数组的拼接与截取
    合并
	var arr1 = [1, 2, 3];
    var arr2 = [4, 5, 6];
    // concat: 合并多个数组
    // 返回一个合并后的新数组
    // 数组1.concat(数组2)
    var newArr = arr1.concat(arr2);
    console.log(newArr);

截取

	// slice: 截取数组的一部分,放到一个新数组中
    var arr = ['张飞', '赵云', '马超', '黄忠', '关羽'];
    // 参数1: 开始的位置
    // 参数2: 结束的位置 不包含结束的这个元素, 参数可以省略,表示截到末尾
    var newArr = arr.slice(1, 3);
    console.log(newArr);

删除

	// splice()  可以在数组的任意地方删除元素或者增加元素, 返回值:删除掉的元素的数组
    var arr = ['张飞', '赵云', '马超', '黄忠', '关羽'];
    // 参数1: 开始的位置
    // 参数2: 删除几个
    // 参数3: 要增加哪些元素
    // var newArr = arr.splice(1, 1, '黄月英', '大乔');
    // console.log(newArr);
    // console.log(arr);
    // arr.splice(2, 1);
    // console.log(arr);
    arr.splice(2, 0, '马云');
    console.log(arr);
  • 数组的查找元素
	var arr = [1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1];
    // arr.indexOf(值)   获取值在数组中第一次出现的位置
    // arr.lastIndexOf(值)  从后面开始查找,查找值在数组中第一次出现的位置
    // 如果数组中没有这个元素, 会返回-1
   	console.log(arr.indexOf(8));
   	console.log(arr.lastIndexOf(4));

indexOf 可以判断数组中是否包含某个值

  • 数组的统计次数的说明
	var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"];
    // 思路: 
    // 1. 空的对象  表示所有的字符都没有出现过
    // 2. 遍历这个数组
    // 3. 判断arr[i]在对象中是否存在  如果不存在, 让obj[ arr[i] ] = 1
    // 如果存在,   obj[ arr[i] ]++
    var obj = {};
    for (var i = 0; i < arr.length; i++) {
      if (obj[arr[i]] === undefined) {
        // 不存在
        obj[arr[i]] = 1
      } else {
        obj[arr[i]]++;
      }
    }
    console.log(obj);
基本包装类型

简单类型没有属性和方法,只有一个值,所以才叫简单
js为了我们使用简单类型方便, 每个每一个简单类型 number string boolean分别提供了对应的复杂类型。
当我们调用简单类型的属性和方法的时候。js内部会自动把简单类型给你变成复杂类型。结束后,再把复杂类型变回了简单类型,这个过程对于我们是透明的。
Number String Boolean

  • Number对象
//toFixed(2)//保留2位小数
//toString();//转换成字符串
var num = 10;
console.log(num1.toFixed(2));
var num1 = 0.1 + 0.2;
console.log(num.toString());
  • Boolean对象
var b = new Boolean(true);
console.log(b.toString());

undefined和null没有包装类型,所以调用toString方法会报错

  • String对象

字符串可以看成是一个字符数组(伪数组)。因此字符串也有长度,也可以进行遍历。String对象很多方法的名字和和Array的一样。可以少记很多的单词。

1 查找指定字符串

//indexOf:获取某个字符串第一次出现的位置,如果没有,返回-1
//lastIndexOf:从后面开始查找第一次出现的位置。如果没有,返回-1
var str = '我爱中华人民共和国';
var index = str.indexOf('中华');

2 去除空白

// trim();//去除字符串两边的空格,内部空格不会去除
var str2 = ' chen lao shi ';
console.log(str2.trim());

3 大小写转换

//toUpperCase:全部转换成大写字母
//toLowerCase:全部转换成小写字母

4 字符串拼接与截取

//字符串拼接
//可以用concat,用法与数组一样,但是字符串拼串我们一般都用+

//字符串截取的方法有很多,记得越多,越混乱,因此就记好用的就行
//slice :从start开始,end结束,并且取不到end。
//substring :从start开始,end结束,并且取不到end
//substr : :从start开始,截取length个字符。

5 字符串切割

//split:将字符串分割成数组(很常用)
//功能和数组的join正好相反。
var str = "张三,李四,王五";
var arr = str.split(",");

6 字符串替换

replace(searchValue, replaceValue)
//参数:searchValue:需要替换的值    replaceValue:用来替换的值

练习

//1. 截取字符串"我爱中华人民共和国",中的"中华"
        var str = '我爱中华人民共和国';
        var index = str.indexOf('中华');
        var result = str.substr(index, 2);
        console.log(result);
        //2. "abcoefoxyozzopp"查找字符串中所有o出现的位置
        var str1 = 'abcoefoxyozzopp';
        for(var i = 0; i < str1.length; i++){
            if(str1[i] === 'o'){
                console.log(i);
            }
        }
        //3. 把字符串中所有的o替换成!
        var result = str1.replace(/o/g, '!');
        console.log(result);
        console.log(str1);
        //4. 把一个字符串中所有的空格全部去掉
        var str2 = ' chen lao shi ';
        console.log(str2.trim());
        console.log(str2);
        console.log(str2.replace(/ /g, ''));
        //5. 统计一个字符串中每个字符出现的次数
        var obj = {};
        for(var j = 0; j < str1.length; j++){
            if(obj[str1[j]]){
                obj[str1[j]]++;
            } else {
                obj[str1[j]] = 1;
            }
        }
        console.log(obj);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值