zoukankan      html  css  js  c++  java
  • JS的类型转换

    stringnumber函数不被用作构造函数的可以当成转换函数

    如 string(false),number(‘3’),boolean([])

    Object(3) = new number(3);

    除了NULLundefined以外任何值都具有toString()方法

    JS 在执行程序的时候会自动检测表达式来进行变量转换。

       显示转换变量:

       可以使用构造函数:

      String(‘op’);object();boolean([]),number(‘3’),

    类型之间的转换:

       

    类型

    字符串

    数字

    布尔值

    对象

    undefined

    “undefined”

    NaN

    false

    Thows TypeError

    null

    “”

    0

    false

    Thows TypeError

    “”

     

     

    false

    New string(“”)

    “1.2”

     

    1.2

    true

    New string(“1.2”)

    “one”

     

    NaN

    true

    New string(“one”)

    0

    “0”

     

    false

    New number(0)

    -0

    “0”

     

    false

    New number(-0)

    NaN

    “NaN”

     

    false

    New number(NaN)

    Infinity

    “Infinity”

     

    true

    New number(Infinity)

    -Infinity

    “-Infinity”

     

    true

    New number(-Infinity)

    1

    ‘1’

     

    True 

    New number(1)

    {}任意对象

     

     

    True

     

    []任意数组

     

    0

    True

     

    [8]

    “8”

    8

    true

     

    [‘a’]

    join

    NaN

    true

     

    function

     

    NaN

    true

     

    对象转换为原始值:

    所有的对象都转换为布尔值为true,包括包装对象也是这样。

    对象转换为字符串和数值的是调用一个方法来实现的。麻烦的是JS对象有两个不同的方法来转换。

    第一个方法:toString()方法,返回一个反映这个对象的字符串。

    ({x:1,y:2}).toString() // =>[object object]

    数组返回:将每个数组元素返回并在数组元素后加,合并成一个字符串。

    函数类的toString返回这个函数定义语法;

    日期类:返回一个可读的日期字符串。

    第二个方法:valueOf()

      这个方法未定义具体的作用;

    如果存在原始值返回原始值,对象是复合值,因此一般返回对象本身,而不是返回一个原始值。

    特殊情况:

    对象转换到字符串:

       如果对象具有toString方法,则调用此方法如果此方法返回的是一个原始值则把原始值转换为字符串。

    如果对象没有toString方法,或是此方法不返回一个原始值的话调用valueOf方法,如果valueOf返回一个原始值则转换为字符串。

    如果,valuetoString没法返回原始值,则抛出一个错误。

     

    对象转换到数字:

        如果对象具有valueOf方法,,或是此方法不返回一个原始值的话调用valueOf方法,如果valueOf返回一个原始值则转换为数值。

       

    如果对象不具有valueOf方法,则调用toString方法如果此方法返回的是一个原始值则把原始值转换为数值。

    如果,valuetoString没法返回原始值,则抛出一个错误。

  • 相关阅读:
    Java工具类——UUIDUtils
    Python中的split()函数的用法
    学习笔记
    hdu 1558 线段相交+并查集
    hdu 4609 FFT
    hdu1402 FFT入门
    多项式乘法快速算法
    FFT
    GDUT校赛
    light oj 1236 分解质因数
  • 原文地址:https://www.cnblogs.com/phplhs/p/4156464.html
Copyright © 2011-2022 走看看