JavaScript学习笔记---数据类型

## 数据类型 六种

 基本数据类型:

    1.number 数字型
    2.string 字符串
    3.boolean 布尔型
    4.undefined 只声明未赋值
    5.null 空

 引用数据类型/复杂数据类型:

    6.object 对象【array  function object】

    检测数据类型方法:typeof

    格式:
        1. typeof 变量名
        2. typeof(变量名)


## 1.number 数字型

            整数、小数、负数都是数字类型。

            进制 二进制 八进制 十进制【默认】 十六进制

            结果:
            NaN:  not a number  不是一个数字
            场景:  1.自定义  2.计算出错

            Infinity:  无穷大
            场景: 计算出错

            注意: 小数(浮点数)不能作为判断依据

## 2.string 字符串

            被包裹在引号内【单双引都可以】,就是字符串类型

            字符串方法:
            1.length 长度
            格式:  变量名.length

            2.charAt(数字下标)  下标从0开始   根据下标 返回对应内容
            格式:  变量名.charAt(数字)

## 3.boolean 布尔型 true-真成立   false-假不成立

            场景: 1.自定义 2.判断,比较


## 4.undefined 与 5.null


            undefined: 1. 自定义  2.只声明,未赋值。  var a;

            null:空。


            undefined和null区别:
            1.undefined 值的空缺;  null有值,但值为空
            2.数据类型:undefined数据类型:undefined  null数据类型:object空对象

## 6.object 对象类型【array数组,function函数,object对象】 


            array:数组
            用[]包裹起来的就是数组,数据的集合。数据与数据之间,逗号分隔。数据可以是六大数据类型中的任何一种

            鉴定数组方法:  Array.isArray(变量名)

## 强制转换成数字类型

            1.Number() 

                string: 只能转引号中全部都是纯数字,一旦出现非数字,则返回NaN
                boolean:  true-1  false-0
                undefined: NaN
                null: 0
                object: NaN

            2.parseInt

                string: 取整。引号中可以出现非数字,但是一定要以数字开头,若非数字开头则返回NaN,遇到非数字则不再转换
                boolean:  NaN
                undefined: NaN
                null: NaN
                object: NaN

            3.parseFloat

                string: 保留小数。引号中可以出现非数字,但是一定要以数字开头,若非数字开头则返回NaN,遇到非数字则不再转换
                boolean:  NaN
                undefined: NaN
                null: NaN
                object: NaN

## 强制转换成字符串类型

         1.String

             格式:  String(变量名)
             都可以



         2.toString()   

          无法转换 undefined  与 null
          格式:  变量名.toString(进制)

## 强制转换成布尔值类型

            Boolean
            格式: Boolean(变量名)
                string:如果字符串为空,则转换成false ,若字符串有内容则转换成true
                number: 0-false   非0数字-true
                undefined: false
                null: false
                object: true

                空字符串,数字0,undefined,null : false


## 运算符

   1.算数运算符 + - * / % ++ --

            % : 取余数
            ++: 递增 增大一个数
            --: 递减 减小一个数

            a++: 先赋值 后运算
            ++a: 先运算 后赋值
 

   2.赋值运算符 = += -= *= /=

            =: 赋值 ,从右向左赋值。
            +=:在原内容基础上,加上新的内容。
 

   3.比较运算符 > < >= <= == === != !==

            ==:比较,只比较值,不比较数据类型。
            ===:全等。既比较值,也比较数据类型。
            !=: 不等。只比较值,不比较数据类型。
            !==: 不全等。既比较值,也比较数据类型。
 

   4.逻辑运算符 && || !

            && : 与,和,且。 符号两侧都为真,则结果为真,若有一侧为false,则结果为假。
            || : 或。 符号两侧都为false时,结果为false,若有一侧为真,则结果为真。
            ! : 非。 取反。
 

   5.三目运算符

    格式:
            判断条件? 成立时执行 : 不成立时执行;

## 运算符优先级

    1.先算贴身的 !a  ++a  a--
    先算乘除,后算加减
    先算算数,后算比较
    先算比较,后算逻辑
    赋值在最后

## 方法:isNaN() is not a number

 判断 是不是不是一个数字【返回布尔值】

 true - 对,不是数字
 false - 不,是数字



    
    
原文地址:https://www.cnblogs.com/shihaiying/p/13229723.html