首页 > 技术文章 > JS隐式转换

songmengyao 2017-08-05 16:33 原文

    首先,JS数据类型分为6种,分别是null、undefined、boolean、string、number、object。其中,object是引用类型,其余5种是基本类型或者叫做原始类型。

  类型转换,就是隐式转换!不同类型的变量相比较时要先转换类型。隐式转换通常发生在运算符加、减、乘、除,以及大于、小于、等于等等。

  typeof()方法用来打印判断某个元素是什么数据类型。

 

1、字符串和数字的相互转换:

  (1)、字符串 加 数字 || 数字 加 字符串,数字 => 字符串

    eg:

      typeof("hello");   =>  "string"

      typeof(2);  =>  "number"

      typeof("6");  =>  "string"

      "hello" + 2  =>  "hello2"

      2 + "hello"  =>  "2hello"

      "6" + 2  =>  "62"

      2 + "6"  =>  "26"

  (2)、数字 减 字符串 || 字符串 减 数字,字符串 => 数字(此时,字符串是纯数字)

       数字 减 字符串 || 字符串 减 数字,字符串 => NaN(此时,字符串不是纯数字)

       字符串 减 字符串,字符串 => 数字(此时,字符串是纯数字)

       字符串 减 字符串,字符串 => NaN(不是纯数字的字符串转换成NaN)

   eg:

      2 - "hello"  =>  NaN

      2 - NaN  =>  NaN

      "10" - 5  =>  5

      "hello" - 5  =>  NaN

      "40" - "20"  =>  20

      "hello" - "10"  =>  NaN

      "hello" - "hello"  => NaN

  (3)、字符串 和 数字 之间的 大于、小于、乘、除 和 减法的转换规则一样

  (4)、字符串 等等 数字 || 数字 等等 字符串,字符串 => 数字(此时,字符串是纯数字)

       字符串 等等 数字 || 数字 等等 字符串,字符串 => NaN(此时,字符串不是纯数字)

    eg:

      "3" == 3  =>  true

      "3" == 2  =>  false

      "hello" == 2  =>  false

 

 2、字符串和布尔值的相互转换:

  (1)、

 

推荐阅读