Js数据类型和运算符

Posted on 2019-08-01 14:41  嗷呜~  阅读(343)  评论(0编辑  收藏  举报

1、数据类型

     原始类型:数值 字符串 布尔值; 复杂类型:对象;

            数值(number)

                     特殊的数值:NaN,NaN不等于任何值,包括它本身,NaN与任何数运算,得到的仍是NaN。

            字符串(string)

            布尔值(boolean)

                 undefined  null  false  0  NAN   “”  ‘’(空字符串) 转换为false

     undefined :

           未定义的值,转为数值时为NaN

 

       // 变量声明了,但没有赋值
        var i 
        console.log(i)  // undefined 

        // 调用函数时,应该提供的参数没有提供,该参数等于 undefined
        function fn(x){
            return x
        }
        x = fn()
        console.log(x) // undefined

       // 对象没有赋值的属性
        var a = new Object()
        console.log(a.name) // undefined

        // 函数没有返回值时,默认返回 undefined
        function fc(){

        }
        console.log(fc()) // undefined

 

 

 

     null:

    null是一个表示“空”的对象,转为数值时为0null表示空值,即该处的值现在为空。调用函数时,某个参数未设置任何值,这时就可以传入null,表示该参数为空。比如,某个函数接受引擎            抛出的错误作为参数,如果运行过程中未出错,那么这个参数就会传入null,表示未发生错误。

     对象(object)又分为:狭义的对象(object)  数组(array)  函数(function)

           对象

           数组

           函数:处理数据的方法

     Symbol(ES6新增)

 

2、运算符

      typeof

       

        console.log(typeof(111))  // number
        console.log(typeof('111')) // string
        console.log(typeof(false))  // boolean

        function fn(){

        }
        console.log(typeof(fn))  // function
        console.log(typeof(undefined))  //undefined
        
        console.log(typeof({}))  // object
        console.log(typeof([]))  //object
        console.log(typeof(null)) //object

        
        console.log(typeof(v))  // undefined

 

         未定义的变量使用时会报错,但是 typeof类型为 undefined。

         数组的typeof类型也是object,在js中,数组是一种特殊的对象。 instanceof 可以区分数组和对象

         null返回 object,是 历史问题。

     instanceof

 

  var a = {}
  var b = []
  console.log(a instanceof Object) // true
  console.log(b instanceof Array)  // true

 

 

原文地址:https://wangdoc.com/javascript/types/null-undefined-boolean.html