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