2016年5月7日
[TOC]
2016年5月7日
javascript
Math对象
属性
Math.E:常数e。
Math.LN2:2的自然对数。
Math.LN10:10的自然对数。
Math.LOG2E:以2为底的e的对数。
Math.LOG10E:以10为底的e的对数。
Math.PI:常数Pi。
Math.SQRT1_2:0.5的平方根。
Math.SQRT2:2的平方根。
方法
Math.abs():绝对值
Math.ceil():向上取整
Math.floor():向下取整
Math.max():最大值
Math.min():最小值
Math.pow():指数运算
Math.sqrt():平方根
Math.log():自然对数
Math.exp():e的指数
Math.round():四舍五入
Math.random():随机数
Number对象
属性
Number.POSITIVE_INFINITY:正的无限,指向Infinity。
Number.NEGATIVE_INFINITY:负的无限,指向-Infinity。
Number.NaN:表示非数值,指向NaN。
Number.MAX_VALUE:表示最大的正数,相应的,最小的负数为-Number.MAX_VALUE。
Number.MIN_VALUE:表示最小的正数(即最接近0的正数,在64位浮点数体系中为5e-324) - ,相应的,最接近0的负数为-Number.MIN_VALUE。
Number.MAX_SAFE_INTEGER:表示能够精确表示的最大整数,即9007199254740991。
Number.MIN_SAFE_INTEGER:表示能够精确表示的最小整数,即-9007199254740991。
方法
1.Number.prototype.toString()
Number对象部署了单独的toString方法,可以接受一个参数,表示将一个数字转化成某个进制的字符串。
(10).toString() // "10"
10['toString'](2) // "1010"
(10).toString(2) // "1010"
(10).toString(8) // "12"
(10).toString(16) // "a"
将其他进制的数,转回十进制,需要使用parseInt方法。
2.Number.prototype.toFixed()
toFixed方法用于将一个数转为指定位数的小数,返回这个小数对应的字符串。
(10).toFixed(2) // "10.00"
10.005.toFixed(2) // "10.01"
3.Number.prototype.toExponential()
toExponential方法用于将一个数转为科学计数法形式。
(10).toExponential(1)
// "1.0e+1"
(1234).toExponential(1)
// "1.2e+3"
4.Number.prototype.toPrecision()
toPrecision方法用于将一个数转为指定位数的有效数字。
(12.34).toPrecision(1) // "1e+1"
(12.34).toPrecision(2) // "12"
(12.34).toPrecision(3) // "12.3"
(12.34).toPrecision(4) // "12.34"
(12.34).toPrecision(5) // "12.340"
自定义方法
与其他对象一样,Number.prototype对象上面可以自定义方法,被Number的实例继承。
Number.prototype.add = function (x) {
return this + x;
};
8['add'](2)
// 10
Object对象的方法
Object()
Object本身当作工具方法使用时,可以将任意值转为对象。
其中,原始类型的值转为对应的包装对象
Object() // 返回一个空对象
Object(undefined) // 返回一个空对象
Object(null) // 返回一个空对象
Object(1) // 等同于 new Number(1)
Object('foo') // 等同于 new String('foo')
Object(true) // 等同于 new Boolean(true)
Object([]) // 返回原数组
Object({}) // 返回原对象
Object(function(){}) // 返回原函数
Object.keys(),Object.getOwnPropertyNames()
Object.keys方法只返回可枚举的属性,Object.getOwnPropertyNames方法还返回不可枚举的属性名。
var o = {
p1: 123,
p2: 456
};
Object.keys(o)
// ["p1", "p2"]
Object.getOwnPropertyNames(o)
// ["p1", "p2"]
//
var a = ["Hello", "World"];
Object.keys(a)
// ["0", "1"]
Object.getOwnPropertyNames(a)
// ["0", "1", "length"]
//
Object.keys(o).length
//一般使用这个方法计算属性个数。
Last updated
Was this helpful?