美文网首页
数据类型

数据类型

作者: 无迹落花 | 来源:发表于2017-08-18 10:12 被阅读106次

    弱类型特性

    我们知道在js中定义变量的时候无需指定类型,比如说指定一个变量num,赋值为32

     var num=32;
    

    稍后也可以马上将一个字符串复制给这个变量

    num='this is a string';
    

    这样也是合法的。

    有的人可能认为,oh my god,js好简单,定义变量时,连类型都不用管。

    真的是这样的吗? 带着这样的疑问,我们来看一下下面这个例子:

    32+32                // 64
    

    32+32的运算结果,当然是64

    稍微做一点修改,把左边的32用双引号引起来表示一个字符串:

    '32'+32             // 3232
    
    这次的运行,会理解为字符串的拼接,运行结果就是3232



    同样是字符串与数字运算,稍微做些改变,将+号变成-号;

    '32'-32           // 0
    

    这次又会理解为数字的运算,结果时0

    我们看到,JavaScript虽然说不需要指定数据类型,但是就是因为没有显示的指定变量的类型,反而在一些js的操作符,运算符,进行一些运算的时候,背后有着一套复杂的隐式转换逻辑。

    JavaScript常见的数据类型

    我们把一些常见的、比较基础简单的类型称之为:原始类型,主要有

                        number
                        string
                        boolean
                        null
                        undefined
    

    这5种

    除了这5种原始类型呢,剩下的呢就只有一种,叫做对象类型 object。
    此处先暂时忽略es6引入的新的原始数据类型Symbol)。

    可能有的朋友会问,咦? 函数啊、数组啊哪去了?


    在JavaScript中, FunctionArrayDate,... 等也是对象,尤其是函数呢是一种比较特殊的对象,因为我们知道函数是可以调用的,并且有它自己的作用域等一些相关内容。

    相关文章

      网友评论

          本文标题:数据类型

          本文链接:https://www.haomeiwen.com/subject/giiorxtx.html