五、数学(Math)对象
1、使用数学对象
JavaScript的数学对象提供了大量的数学常数和数学函数,使用时不需要用关键字new而可以直接使用Math对象。
2、数学对象的属性与方法
数学对象的属性
属 性 |
数 学 意 义 |
值 |
E |
欧拉常量,自然对数的底 |
约等于2.7183 |
LN2 |
2的自然对数 |
约等于0.6931 |
LN10 |
10的自然对数 |
约等于2.3026 |
LOG2E |
2为底的e的自然对数 |
约等于1.4427 |
LOG10E |
10为底的e的自然对数 |
约等于0.4343 |
PI |
∏ |
约等于3.14159 |
SQRT1_2 |
0.5的平方根 |
约等于0.707 |
SQRT2 |
2的平方根 |
约等于1.414 |
数学对象的方法
方 法 |
意 义 |
示 例 |
abs(x) |
返回x的绝对值 |
abs(2) 结果为2,abs(-2)结果为2 |
acos(x) |
返回某数的反余弦值(以弧度为单位)。x在-1至1范围内 |
acos(1) 结果为0 |
asin(x) |
返回某数的反正弦值(以弧度为单位) |
asin(0.5) 结果约为0.5236 |
atan(x) |
返回某数的反正切值(以弧度为单位) |
atan(1) 结果约为0.7854 |
ceil(x) |
返回与某数相等或大于该数的最小整数 |
ceil(-15) 结果为-15 ceil(-15.6) 结果为-15 ceil(15.2) 结果为16 ceil(15) 结果为15 |
cos(x) |
返回某数(以弧度为单位)的余弦值 |
cos(Math.PI*2/6) 结果为0.5 |
exp(x) |
返回e的x次方 |
exp(2) 结果约为7.389 |
floor(x) |
与ceil相反,返回与某数相等或小于该数的最小整数 |
floor(-15) 结果为 -15 floor(-15.6) 结果为 -16 floor(15.2) 结果为 15 floor(15) 结果为15 |
log(x) |
返回某数的自然对数(以e为底) |
log(Math.E) 结果为1 |
max(x,y) |
返回两数间的较大值 |
max(1,3) 结果为3 |
min(x,y) |
返回两数间的较小值 |
min (1,3) 结果为1 |
pow(x,y) |
返回x的y次方 |
pow(2,3) 结果为8 |
random() |
返回0和1之间的一个伪随机数 |
|
round(x) |
返回某数四舍五入之后的整数 |
round(3,4) 结果为3 |
sin(x) |
返回某数(以弧度为单位)的正弦值 |
sin(Math.PI/6) 结果为0.5 |
sqrt(x) |
返回某数的平方根 |
sqrt(9) 结果为3 |
tan(x) |
返回某数的正切值 |
tag(Math.PI/4) 结果为1 |
toFixed(x) |
返回某数四舍五入之后保留x位小数 |
var num1=1204.238; num1.toFixed(2) 结果为1204.24 |
toPrecision(x) |
返回某数四舍五入之后保留x位字符 |
var num1=1204.238; num1. toPrecision (2) 结果为1204.2 |
3、特殊的常数和函数
(1)常数NaN和函数isNaN(x)
在使用JavaScript数学对象的过程中,当得到的结果毫无意义时,JavaScript将返回一个特殊的值NaN,表示“不是一个数(Not a Number)”。
(2)常数Infinity和函数isFinite(x)
JavaScript还有一个特殊的常数叫做Infinity,表示“无限”。
x1 = 3/0; x2 = -3/0 x1的值是Infinity x2的值是 –Infinity
JavaScript用于测试是否是有限数的函数叫做isFinite(x)
4、格式化数字
格式化数字的不同效果
格 式 要 求 |
显 示 效 果 |
无格式要求 |
1204.6237 |
保留2位小数 |
1204.62 |
保留3位小数 |
1204.624 |
保留6位小数 |
1204.623700 |
百分数(%) |
120462.37 |
千分位符 |
1,204.6237 |
为数字添加千分位符原理图
例5-1 为数字添加千分位符
目的:格式化数字
例5-2 产生拼写单词试题。例如对于英文单词instruction,产生3字符拼写in_tru_ti_n
目的:数学对象中随机方法的应用
六、日期(Date)对象
1、新建日期对象
使用new关键字创建日期对象,可以用以下4种方法
new Date(); new Date(日期字符串);
new Date(年,月,日[,时,分,秒,毫秒]); new Date(毫秒);
如果使用“日期字符串”作为参数,其格式可以使用Date.parse()方法识别的任何一种表示日期、世间的字符串。例如,”April 10,2003”,”12/24/1988 16:12:20”,”Sat Sep 18 09:22:28 EDT 2004”等。
2、日期对象的属性与方法
日期对象除了作为对象所具有的constructor和prototype属性外没有其他属性。
日期对象除了作为对象所具有的toString() 和toSource()外,其他属性见下表(部分列出)
日期对象的方法 var DD = new Date();
日期对象方法语法规则 |
意 义 |
时 区 |
DD.getDate() |
返回整数,表示日期对象月份中的日期数(1~31) |
计算机指定时区 |
DD.getDay() |
返回整数,表示日期对象中的星期数,0表示星期日,6表示星期六 |
计算机指定时区 |
DD.getMonth() |
返回整数,表示日期对象中的月份数,0表示1月,1表示2月… |
计算机指定时区 |
DD.getFullYear() |
返回4位整数,表示日期对象中的年。用该方法代替使用getYear()方法 |
计算机指定时区 |
DD.getYear() |
返回两位整数,表示日期对象中的年(避免使用该方法) |
计算机指定时区 |
DD.getHours() |
返回整数,表示日期对象中的小时数(0~23) |
计算机指定时区 |
DD.getMinutes() |
返回整数,表示日期对象中的分钟数(0~59) |
计算机指定时区 |
DD.getSeconds() |
返回整数,表示日期对象中的秒数(0~59) |
计算机指定时区 |
DD.getMilliseconds() |
返回整数,表示日期对象中的毫秒数(0~999) |
计算机指定时区 |
DD.getTime() |
返回整数,表示自1970年1月1日 0:0:0:起的毫秒数 |
计算机指定时区 |
DD.getTimezoneOffset() |
返回整数,表示计算机设定时区与格林尼治标准时间相差的分钟数 |
格林尼治标准时间 |
DD.getUTCDate() |
与getDate()意义相同,只是表示时区不同 |
格林尼治标准时间 |
DD. getUTCDay() |
……,只是表示时区不同 |
格林尼治标准时间 |
DD. getUTCMonth() |
……,只是表示时区不同 |
格林尼治标准时间 |
DD. getUTCFullYear() |
……,只是表示时区不同 |
格林尼治标准时间 |
DD. getUTCHours() |
……,只是表示时区不同 |
格林尼治标准时间 |
DD. getUTCMinutes() |
……,只是表示时区不同 |
格林尼治标准时间 |
DD. getUTCSeconds() |
……,只是表示时区不同 |
格林尼治标准时间 |
DD. getUTCMilliseconds() |
……,只是表示时区不同 |
格林尼治标准时间 |
Date.parse(日期字符串) |
|
计算机指定时区 |
DD.setDate(日期数) |
|
计算机指定时区 |
DD.setFullYear(年[,月,日]) |
|
计算机指定时区 |
DD. setHours(小时[,分,秒,毫秒]) |
|
计算机指定时区 |
DD. setMilliseconds(毫秒) |
|
计算机指定时区 |
DD. setMinutes(分[,秒,毫秒]) |
|
计算机指定时区 |
DD. setMonth(月,日) |
|
计算机指定时区 |
DD. setSeconds(秒[,毫秒]) |
|
计算机指定时区 |
DD. setTime(总毫秒数) |
|
计算机指定时区 |
DD. setYear() |
设置日期对象中的年数,如果位数小于等于两位,则年份表示19XX |
计算机指定时区 |
DD. setUTCDate() |
|
格林尼治标准时间 |
DD. set UTCDay() |
|
格林尼治标准时间 |
DD. set UTCMonth() |
|
格林尼治标准时间 |
DD. set UTCFullYear() |
|
格林尼治标准时间 |
DD. set UTCHours() |
|
格林尼治标准时间 |
DD. set UTCMinutes() |
|
格林尼治标准时间 |
DD. set UTCSeconds() |
|
格林尼治标准时间 |
DD. set UTCMilliseconds() |
|
格林尼治标准时间 |
DD. toUTCString() |
将日期对象转换成格林尼治标准时间的日期字符串 |
格林尼治标准时间 |
DD. toLocaleString() |
将日期对象转换成当地时区的日期字符串 |
计算机指定时区 |
Date.UTC(年,月,日[,时,分,秒,毫秒]) |
|
格林尼治标准时间 |