js中的数字

JavaScript039

js中的数字,第1张

0o11代表8进制

011同样是8进制

0b11 是2进制

0x11是16进制

第二位字母是不区分大小写的,所以0b11跟0B11是一样的

453736481234684843368185n 代表大整数,没有最大值限制,这个不能跟科学记数法混用,转字符串会没有n

普通写法代表10进制,还能用科学记数法表示  2e+12  3e-2

pre{overflow-x: auto}

一、toString方法的三个作用

  1.返回一个【表示对象】的【字符串】

 2.检测对象的类型 

Object.prototype.toString.call(arr)==="[object Array]"

 3.返回该数字对应进制的字符串。 

console.log(10.toString(2)) //10专为为2进制'1010'

在js中包含2进制,8进制,10进制,18进制。

二、返回一个【表示对象】的【字符串】

Object.prototype.toString()

1.toString是属于Object原型上的一个方法。

每一个对象都有一个 toString() 方法。 默认的情况下, toString()方 法被每一个对象继承。如果toString没有被定义的对象覆盖。 toString 返回 '[object type]' 其中type是对象的类型,type的值可以是Object,

代码:

class Person{   constructor(name,age){     this.name=name     this.age=age   } } let zs=new Person('张三',18) console.log( zs.toString() ) // [object Object]

通过上面的输出语句,我们可以确定。

返回来的确实是返回一个【表示对象】的【字符串】

三、自定义的toString()

我们也可以定义一个方法 去覆盖默认的 toString 方法。

自定义的 toString() 方法不能够传入参数,并且必须返回一个字符串。定义的toString可以返回我们任何需要的值,如果他能够附带任何有关对象的信息,他将变成非常有用

代码如下:

class Person{   constructor(name,age){     this.name=name     this.age=age   }   // 重写Object.prototype.toString()   toString(){     return `Person{name=${this.name},age=${this.age}}`   } } let zs=new Person('张三',18) console.log( zs.toString() ) //Person{name=张三,age=18}

JavaScript 的许多内置对象都重写了该函数,以实现更适合自身的功能需要.

1. Array 的每个元素转换为字符串,并将它们依次连接起来,两个元素之间用英文逗号作为

2. Boolean 如果布尔值是true,则返回"true"。否则返回"false""。

3. Date 返回日期的文本表示。

到此这篇关于js中 toString 方法3个作用的文章就介绍到这了,希望大家以后多多支持!

楼上说法是不正确的,parsetInt与进制有关系,这点楼主说的没错。parseInt有两个参数,第一个参数为待解析的字符,第二个参数为进制,默认是10进制。当参数是前面有个0时,就代表按8进制解析,如即parseInt('01)==parseInt('1',8)==1,如果参数前有'0X'就代表按16进制解析 ,即parseInt('0XA)==parseInt('A',16)==10。

如楼主所说parseInt('08')就代表按8进制解析,然而8进制是没有数字'8'的写法的,所有解析到>8的数值时会终止解析,并赋值为0,即parseInt('08')==parseInt('8',8)==parseInt('0',8)==0。