Math对象
- Math对象的作用是:执行普通的算术任务
- Math对象是ECMAScript提供的一个全局对象,它主要封装了一些常用的数字函数和常数
- Math对象中的成员都是静态属性和静态方法,因此Math对象没有构造函数,也不需要创建它的实例(instance),直接使用Math的属性和方法即可。
var m = new Math(); //错误
使用属性/方法的语法:
var x = Math.PI;
var y = Math.sqrt(16);
Math对象无需在使用这个对象之前对它进行定义
Math对象的属性
Math对象的方法
var a = 10;b = 5;
console.log(Math.pow(a,b));
console.log(Math.sqrt(4.0))
console.log(Math.abs(-8.0));
console.log(Math.ceil(10.1));
console.log(Math.round(10.8));
console.log(Math.floor(10.8));
console.log(Math.exp(2));
console.log(Math.max(10.8,10.0));
结果如下:
三角函数
随机数
- Math对象提供了一个生成随机数的函数 random() 返回0-1之间的随机数
var max = 100;
var min = 70;
num = parseInt(Math.random()*(max-min)+min);
console.log(num);
举例:生成随机颜色
<!DOCTYPE html>
<html>
<head>
<title>随机颜色</title>
<meta charset="utf-8">
</head>
<body>
<script>
function rc(){
var result = '#';
for(var i =0;i<6;i++){
var num = parseInt(Math.random()*16);
// 颜色是十六进制 将得到的结果转换成字符串形式的十六进制
// 再与‘#’拼接 组成颜色
result += num.toString(16);
}
document.body.style.background = result;
return result;
}
setInterval(rc,2000)
</script>
</body>
</html>
Date对象
- Date对象用于对日期和时间进行存储和计算
//使用指定的年与日[时分秒]进行初始化
var d1 = new Date(2016,4,1);
var d2 = new Date(2015,4,1,13,18,18);
//初始化为系统时间
var d3 = new Date();
var d4 = new Date;
var d5 = Date(); //构建一个string,值为当前系统时间
var d6 = new Date(0);
var d7 = new Date(1000*3600*24*365);
console.log(d7);
获取时间信息
可以使用下述方法获取Date对象中的时间信息
- getDate() 返回Date对象日期部分数值(1-31)
- getDay() 返回Date对象星期部分的数值(0-6)
- getFullYear() 返回Date对象年份部分的实际数值
- getHours() 返回Date对象小时部分的数值(0-23)
- getMinutes() 返回Date对象分钟部分的数值(0-59)
- getMilliseconds() 返回Date对象“毫秒”部分的数值(0-999)
- getMonth() 返回Date对象月份部分的数值(0-11)
- getSeconds() 返回Date对象秒部分的数值(0-59)
- getTime() 返回Date对象与UTC时间1970年1月1日午夜之间相差的毫秒数
- getTimezoneOffset() 返回本地时间与格林威治标准时间(GMT)的分钟差
<script>
//使用指定的年月日[时分秒]进行初始化
var d1 = new Date(2020,8,5);
var d2 = new Date(2020,8,5,13,56,22);
console.log(d1);
console.log(d2);
//初始化为系统时间
var d3 = new Date();
console.log(d3.getDay());
console.log(d3.getFullYear());
console.log(d3.getMonth());
console.log(d3.getHours());
console.log(d3.getMinutes());
console.log(d3.getSeconds());
console.log(d3.getMilliseconds());
console.log(d3.getTime());
console.log(d3.getTimezoneOffset());
</script>
结果如下:
修改时间信息
可以使用如下方法修改Date对象中的时间信息
- setDate() 设置Date对象中日期部分的数值(1-31)
- setFullYear() 设置Date对象中年份部分的实际数值
- setHours() 设置Date对象中小时部分的数值
- setMilliseconds() 设置Date对象中毫秒部分的数值
- setMinutes() 设置Date对象中分钟部分的数值
- setMonth() 设置Date对象中月份部分的数值
- setSeconds() 设置Date对象中秒部分的数值
- setTime() 以毫秒值设置Date对象
时间格式转换
Date对象可以使用如下方式进行格式化
- toDateString() 返回Date对象日期部分(年月日)的字符串形式
- toGMTString() 基于本地时间格式,返回Date对象日期部分(年月日)的字符串形式
- toLocaleDateString() 基于本地时间格式,返回Date对象的字符串形式
- toLocaleTImeString() 基于本地时间格式,返回Date对象实践部分(时分秒)的字符串形式
- toString() 返回Date对象的字符串形式
- toTimeString() 返回Date对象实践部分的字符串形式
- toUTCString 基于UTC时间格式,返回Date对象的字符串形式
Number对象
Number对象表示数值数据和数字常数,主要用于对数字进行指定格式的输出
//构造新的Number对象——引用类型的变量
var num1 = new Number(5);
var num2 = new Number("1.5");
var num3 = new Number();
var num4 = new Number("hello");
var num5 = new Number("123abc");
//将数据转化为Number数据类型——值类型的变量
var num6 = Number(5);
var num7 = Number("1.5");
var num8 = Number();
var num9 = Number("hello");
var num10 = Number("123abc");
Number对象属性和方法
Number对象具有如下静态常量属性
- MAX_VALUE JS可表示的最大数值
- MIN_VALUE JS可表示的最小数值
- NaN 表示非数字值
- NEGATIVE_INFINITY 负无穷大,溢出时返回该值(小于Number.MIN_VALUE时)
- POSITIVE_INFINITY 正无穷大,溢出时返回该值(大于Number.MAX_VALUE时)
- toExponential(x) 把对象的值转换为指数计数法
- toFixed(x) 把数字转换为字符串,结果的小数点后有指定位数的数字。
- toPrecision() 把数字格式化为具有指定有效位数的字符串
- toString() 把数字抓换为指定进制表示的字符串
Boolean对象
Boolean对象表示一个布尔值对象(true或false)
//构造新的Boolean对象——引用类型对象
var b1 = new Boolean();
var b2 = new Boolean(false);
var b3 = new Boolean(0)
var b4 = new Boolean(null);
var b5 = new Boolean(undefined);
var b6 = new Boolean(NaN);
var b7 = new Boolean("");
var b8 = new Boolean(0.0);