JavaScript内建对象总结
JavaScript中的对象分为三种:
内建对象、宿主对象、自定义对象
内建对象是由ES标准中定义的对象,在任何ES的实现中都可以使用
- 数组(Array)
数组也是对象(内建对象)
它和我们普通对象功能类似,也是用来存储一些值的
不同的是普通对象使用字符串作为属性名
而数组是使用数字来作为索引操作元素
索引:
从0开始的整数就是索引
数组的存储性能比普通对象要好,在开发中我们经常使用数组来存储一些数据
具体步骤:
- 创建数组对象
- 向数组中添加元素
语法:数组[索引] = 值
- 读取数组中的元素
语法:数组[索引]
如果读取不存在的索引,不会报错而是返回undefined
- 获取数组的长度 可以使用length这个属性获取
语法:数组.length
对于连续的数组,使用length可以获取到数组的长度(元素的个数)
对于非连续的数组,使用length汇获取到数组的最大的(索引+1)
- 修改length
如果修改的length大于原长度,则多出部分会空出来
如果修改的length小于原长度,则多出的部分会被删除
实例:var arr=new Array();
console.log(typeof arr);
arr[0]=12;
arr[1]=34;
console.log(arr);
console.log(arr[1]);
console.log(arr[3]);//不存在索引,返回undefined
console.log(arr.length);
arr.length=10;
console.log(arr);
arr.length=2;
console.log(arr);
- Date对象
在JS中使用Date对象来表示一个时间
创建Date对象,如果使用构造函数创建Date对象,则会封装为当前代码执行的时间
- 获取当前日期对象时几日
var date=d.getDate();
console.log(date);
2、获取当前日期是星期几(0为周日、1为周一…)
var day=d.getDay();
console.log(day);
- 获取当前日期对象的月份(0为一月,以此类推,11为十二月)
var month=d.getMonth();
console.log(month);
- 获取对象以四位数字返回年份
var year=d.getFullYear();
console.log(year);
- 获取这一刻的时间
var hours=d.getHours();
//分钟
var minute=d.getMinutes();
//秒数
var second=d.getSeconds();
hours=hours<=9?"0"+hours:hours;
minute=minute<=9?"0"+minute:minute;
second=second<=9?"0"+second:second;
var str=hours+":"+minute+":"+second;
console.log(str);
- 获取当前日期对象的时间戳
时间戳,指的是从格林威治标准时间的1970年1月1日,0时0分0秒
到当前日期所花费的毫秒数(1秒=1000毫秒)
例:var time=d.getTime();
console.log(time);
console.log(time/1000/60/60/24/365);
//即除1000为毫秒,再除60为分钟,再除60为小时,24为天数,365为年
其实,计算机底层在保存时间时使用都是时间戳
还可以使用时间戳来测试代码的执行性能
实验循环所用时间:
var start=Date.now();
for(var i=0;i<100;i++){
console.log(i);
}
var end=Date.now();
console.log("本次代码执行时间为:"+(end-start)+"毫秒");
- Math对象
Math对象和其他对象不同,它不是一个构造函数,
它属于一个工具类不用创建对象,它里面封装了数学运算相关的属性和方法
例如:
Math.PI 表示圆周率(约等于3.14159)
Math.abs(x) - 返回一个数的绝对值
Math.sin(x) - 返回一个数的正弦
...
Math.ceil() - 可以对一个数进行向上取整,小数位只要有值就自动进1
Math.floor() - 可以对一个数进行向下取整,小数部分会被舍掉
Math.round() - 可以对一个数进行四舍五入取整
Math.random():
- 可以用来生成一个0-1之间的随机数
Math.random()
- 可以用来生成一个0-10之间的随机数(整数)
Math.round(Math.random()*10)
- 可以用来生成一个0-X之间的随机数(整数)
Math.round(Math.random()*X)
- 可以用来生成一个1-10之间的随机数(整数)
Math.round(Math.random()*9)+1
- 可以用来生成一个1-X之间的随机数(整数)
Math.round(Math.random()*(X-1))+1
- 可以用来生成一个Y-X之间的随机数(整数)
Math.round(Math.random()*(X-Y))+Y
例:var num=Math.random();
for(var i=0;i<100;i++){
num=Math.random()*10;//0-10之间的随机数
num=Math.round(Math.random()*10);//0-10之间的随机整数
num=Math.round(Math.random()*9)+1;//1-10之间的随机数(整数)
num=Math.round(Math.random()*5)+2;// 2到7之间的随机数(整数)
num=Math.round(Math.random()*18)+5; // 5到23之间的随机数
}