zoukankan      html  css  js  c++  java
  • 变量类型和计算

    [目录]

    一、JS中使用typeof能得到哪些类型?

    ```
    typeof undefined    //undefined
    typeof 'abc'        //string
    typeof 123          //number
    typeof true         //boolean
    typeof {}           //object
    typeof []           //object
    typeof null         //object
    typeof console.log  //function
    
    //补充:typeof只能区分值类型的详细类型,不能区分引用类型的详细类型,但可以区分出引用类型中的函数
    ```
    

    二、何时使用 === ;何时使用 ==

    "="是严格运算符,""是相等运算符

    • “===”严格运算符

      • 如果两个值的类型不同。直接返回false
      • 同一类型的原始类型值(数值、字符串、布尔值)比较时,值相同就返回true,值不同就返回false
      • 两个符合类型(对象、数组、函数)的数据比较时,不是比较它们的值是否相等,而是比较它们是否指向同一个对象(它们所指的地址是否相同)
    • “==”相等运算符

      • 相等运算符在比较相同类型的数据时,与严格相等运算符完全一样
      • 在比较不同类型的数据时,相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较
      • 原始类型的数据会转换成数值类型再进行比较,如:字符串和布尔值都会转换拿成数值类型
      • 对象(广义上的对象,包括数值和函数)与原始类型的值比较时,对象转化成原始类型的值,再进行比较
      • undefined和null与其他类型的值比较时,结果都为false,它们相互比较时结果都为true
      • 相等运算符的隐式转换,会带来一些违反直觉的结果,例如:
      '' == '0'           //false
      0 == ''             //true
      0 == '0'            //true
      
      false == 'false'    //false
      false == '0'        //true
      
      false == undefined  //false
      false == null       //false
      null == undefined   //true
      
      '	
      ' == 0       //true
      
      //补充:虽然一般推荐使用 === ,但是在jQuery源码中推荐的写法有“obj.a == null”,同时除了“0、NaN、''、null、undefined、false”这几个表现为false,其他的大部分都表现为true
      

    三、JS中有哪些内置函数

    Date:日期函数、Math:数学函数、Number、Boolean、String:字符函数、Array:数组函数、RegExp、Function、Object、齐局、事件、其他单击参考JavaScript内置函数

    四、JS变量按照存储方式区分为哪些类型,并描述其特点

    ```
    // 值类型:undefined string number Boolean
        var a = 100;
        var b = a;
        var a = 200;
        console.log(a)//200
        console.log(b)//100
    // 引用类型:对象 数组 函数
        var a = {age:20}
        var b = a           //a、b指向同一个地址
        b.age = 21
        console.log(a.age)  //21
    ```
    

    五、如何理解JSON

    JSON只不过是一个JS对象而已,JSON (JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。

    ```
    //字符型转字符串型
    JSON.stringify({a:0,b:20})
    //字符串转字符型
    JSON.parse('{"a":10,"b":20}')
    ```
  • 相关阅读:
    poj 3278 Catch That Cow(bfs+队列)
    poj 1265 Area(Pick定理)
    poj 2388 Who's in the Middle
    poj 3026 Borg Maze(bfs+prim)
    poj 2485 Highways
    变量引用的错误:UnboundLocalError: local variable 'range' referenced before assignment
    Sysbench硬件基准测试
    Sysbench-OLTP数据库测试
    字典
    操作列表
  • 原文地址:https://www.cnblogs.com/yujiao-99/p/12985639.html
Copyright © 2011-2022 走看看