JavaScript内置对象

Math对象

Math对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供

跟数学相关的运算来找Math中的成员(求绝对值,取整)

	1. Math.PI // 返回PI值
	2. Math.floor() //向下取整
	3. Math.ceil() // 向上取整
	4. Math.round() // 取整,四舍五入
	5. Math.abs() // 绝对值
	6. Math.max() // 最大值
	7. Math.min() // 最小值
	8. Math.sin() // 正弦
	9. Math.cos() // 余弦
	10. Math.power() // 求指数次幂
	11. Math.sqrt() // 求平方根

案例

  • 求10-20之间的随机数
	 // 10 - 20之间的数字
       for (var i = 0; i < 100; i++) {
            var number = Math.random() * 11 + 10;
            console.log(Math.floor(number));
       }
  • 随机生成颜色RGB
	for (var i = 0; i < 20; i++) {
            var r = Math.floor(Math.random() * 256 + 0);
            var g = Math.floor(Math.random() * 256 + 0);
            var b = Math.floor(Math.random() * 256 + 0);

            console.log('rgb(' + r + ',' + g + ',' + b + ')');
        }
  • 模拟实现max()/min()
	// 构造函数
        function Create() {
            this.max = function () {
                var t = arguments[0]; // 存储最大值
                for (var i = 1; i < arguments.length; i++) {
                    if (t < arguments[i]) {
                        t = arguments[i];
                    }
                }

                return t;
            }
        }

        var myMath = new Create();
        var max = myMath.max(1,2,3,4,56,22,12,234,53,2);
        console.log(max);

Date对象

创建 Date 实例用来处理日期和时间。Date 对象基于1970年1月1日(格林威治GMT 世界标准时间)起的毫秒数。

	var date = new Date(); // 通过new Date()来创建一个日期
	date.valueOf(); // 通过valueOf来获取距离1970年1月1号返回的毫秒数,通常用于内部自动调用。
	date.getTime(); // 和valueOf返回一样,推荐开发者用这种方式来获取。

	Date构造函数的参数
	1. 毫秒数 1498099000356		new Date(1498099000356)
	2. 日期格式字符串  '2015-5-1'	 new Date('2015-5-1')
	3. 年、月、日……				  new Date(2015, 4, 1)   // 月份从0开始

	// 获取日期对象的毫秒值
	var now = new Date();
	// valueOf用于获取对象的原始值
	console.log(date.valueOf())	
	
	// HTML5中提供的方法,有兼容性问题
	var now = Date.now();	
	
	// 不支持HTML5的浏览器,可以用下面这种方式
	var now = + new Date();	// 调用 Date对象的valueOf() 

获取日期指定部分的方法

  1. getTime() // 返回毫秒数和valueOf()结果一样,valueOf()内部调用的getTime()
  2. getMilliseconds() // 获取毫秒值
  3. getSeconds() // 返回0-59
  4. getMinutes() // 返回0-59
  5. getHours() // 返回0-23
  6. getDay() // 返回星期几 0周日 6周6
  7. getDate() // 返回当前月的第几天
  8. getMonth() // 返回月份,从0开始
  9. getFullYear()//返回4位的年份 如 2016

案例

  • 写一个函数,格式化日期对象,返回yyyy-MM-dd HH:mm:ss的形式
function formatDate(d) {
  //如果date不是日期对象,返回
  if (!date instanceof Date) {
    return;
  }
  var year = d.getFullYear(),
      month = d.getMonth() + 1, 
      date = d.getDate(), 
      hour = d.getHours(), 
      minute = d.getMinutes(), 
      second = d.getSeconds();
  month = month < 10 ? '0' + month : month;
  date = date < 10 ? '0' + date : date;
  hour = hour < 10 ? '0' + hour : hour;
  minute = minute < 10 ? '0' + minute:minute;
  second = second < 10 ? '0' + second:second;
  return year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second;
}
  • 计算时间差,返回相差的天/时/分/秒
function getInterval(start, end) {
  var day, hour, minute, second, interval;
  interval = end - start;
  interval /= 1000;
  day = Math.round(interval / 60 /60 / 24);
  hour = Math.round(interval / 60 /60 % 24);
  minute = Math.round(interval / 60 % 60);
  second = Math.round(interval % 60);
  return {
    day: day,
    hour: hour,
    minute: minute,
    second: second
  }
}

Array对象

  • 创建数组对象的两种方式
    • 字面量方式
    • new Array()

利用Array对象创建对象

	var arr = new Array(); // 创建一个空数组
  	var arr = new Array(1,2,3,4,5,6); // 创建一个数组

如何判断一个变量是不是数组对象

	function fn(arr) {
		// 判断参数是否是数组对象
		// instanceof
		// console.log(arr instanceof Array);
		if (!(arr instanceof Array)) { // 注意加括号
			console.error("报错");
		}
	}

数组的方法

	// 1 栈操作(先进后出)
	push()
	pop() 		//取出数组中的最后一项,修改length属性
	// 2 队列操作(先进先出)
	push()
	shift()		//取出数组中的第一个元素,修改length属性
	unshift() 	//在数组最前面插入项,返回数组的长度
	// 3 排序方法
	reverse()	//翻转数组
	sort(); 	//即使是数组sort也是根据字符,从小到大排序
	// 带参数的sort是如何实现的?
	// 4 操作方法
	concat()  	//把参数拼接到当前数组
	slice() 	//从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始
	splice()	//删除或替换当前数组的某些项目,参数start, deleteCount, options(要替换的项目)
	// 5 位置方法
	indexOf()、lastIndexOf()   //如果没找到返回-1
	// 6 迭代方法 不会修改原数组(可选)
	every()、filter()、forEach()、map()、some()
	// 7 方法将数组的所有元素连接到一个字符串中。
	join()

清空数组

1. 第一种
	var arr = [1, 2, 3, 4];
	arr = []; // 清空数组,推荐使用这一种
2. 第二种
    arr.length = 0; // 不推荐这种
3. 第三种
    arr.splice(0, arr.length)  // 不推荐
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值