• js 基本类型&引用类型


    1、基本的数据类型有:undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值
    基本类型的比较是值的比较。用==比较两个不同类型的变量时会进行一些类型转换。但是当两个值的类型相同的时候,即使是==也相当于是===
    基本类型的变量是存放在栈区的(栈区指内存里的栈内存)
    2、对象是属性和方法的集合。也就是说引用类型可以拥有属性和方法
    引用类型的存储需要内存的栈区和堆区共同完成。栈区内存保存变量标识符和指向堆内存中该对象的指针,也可以说是该对象在堆内存的地址
     
    引用类型时按引用访问的,换句话说就是比较两个对象的堆内存中的地址是否相同
    JS中的引用类型传值问题
     
    // 直接赋值的话,因为a和b指向同一个地址。所以用哪一个改变值,都会影响a,b。
    var b = a;
    // 只能复制一个和a一样的对象,那a和b就指向不同的地址
    // 下面是jquery复制对象的方法
    var b = $.extend(true, {}, a);
     
    “附”
    1、jQuery速查手册:http://www.php100.com/manual/jquery/
    2、相等与不等
    • 如果其中一个操作数的类型为 Boolean ,那么,首先将它转换为数字类型,false 转换为 0, true 将转换为 1。
    • 如果其中一个操作数的类型是字符串,另外一个为数字类型,那么,将字符串转换为数字进行比较。
    • 如果其中一个操作数的类型是字符串,另外一个为 object 类型,那么,将调用对象的 toString 方法之后,比较字符串。
    • 如果其中一个操作数的类型是数字类型,另外一个为 object 类型,那么,将对象转换为数值后进行数字比较。

    一些特殊的比较

    • null 和 undefined 是相等的。
    • null 和 undefined 不会转换为任何其他类型
    • 如果任何一个操作的结果为 NaN,那么相等比较返回 false,不相等比较返回 true。注意,即使两个操作数都为 NaN,返回结果一样是 false,也就是说,NaN 不等于 NaN。
    • 如果两个操作数都是对象,那么比较它们引用的值,如果引用同一个对象,那么,返回真,否则,返回假。
    null 是一个对象,但是为空。因为是对象,所以 typeof null 返回 'object' 。
    undefined是全局对象(window)的一个特殊属性,其值是未定义的。
     
    null == undefined      //true
    !""                    //true
    ""==null               //false
    ""==undefined          //false
    null==null             //true
    undefined==undefined   //true
    NaN==NaN               //false
     
    true == 1              //true
    false == 0             //true
    true == 2              //false
    "100"==100             //true
    "100"===100            //false
    

      

  • 相关阅读:
    Python开发入门与实战16-APACHE部署
    Python开发入门与实战15-IIS部署
    Python开发入门与实战14-基于Extjs的界面
    团队作业4:第三篇Scrum冲刺博客(歪瑞古德小队)
    团队作业4:第二篇Scrum冲刺博客(歪瑞古德小队)
    团队作业4:第一篇Scrum冲刺博客(歪瑞古德小队)
    团队作业4:项目冲刺集合贴(歪瑞古德小队)
    团队作业3:需求改进&系统设计(歪瑞古德小队)
    团队作业2:需求规格说明书(歪瑞古德小队)
    使用docker安装codimd,搭建你自己的在线协作markdown编辑器
  • 原文地址:https://www.cnblogs.com/chenlogin/p/4743311.html
Copyright © 2020-2023  润新知