zoukankan      html  css  js  c++  java
  • js的基础类型和引用类型的区别

    js的五大基本类型:boolean、undefined、null、string、number      引用类型:Object、Function、Array
    基本类型的数据是存放在栈内存中的,而引用类型的数据是存放在堆内存中的。
    基本类型的复制就是在栈内存中开辟出了一个新的存储区域用来存储新的变量,这个变量有它自己的值,只不过和前面的值一样,所以如果其中一个的值改变,则不会影响到另一个

    var num1=5;
    var num2=num1;

    定义了一个对象其实是在栈内存中存储了一个指针,这个指针指向堆内存中该对象的存储地址。复制给另一个对象的过程其实是把该对象的地址复制给了另一个对象变量,两个指针都指向同一个对象,所以若其中一个修改了,则另一个也会改变。

     检测2种变量的函数:

    1.   Typeof操作符是检测基本类型的最佳工具;

    2.   如果变量值是null或者对象,typeof 将返回“object”;

    3.   Instanceof用于检测引用类型,可以检测到具体的,它是什么类型的实例;

    4.   如果变量是给定引用类型的实例,instanceof操作符会返回true;

     slice(开始位置,[结束位置])    返回数组的一部分,返回的是新数组,并不改变原数组,(浅复制)

     concat()  不改变原数组,返回一个新数组
    深复制和浅复制的区别  
    深复制和浅复制是针对于array和object这类复杂的对象而言的。浅复制指的是只复制对象的一层属性值,而深复制则递归复制了所有层级

  • 相关阅读:
    VS2010开发C的方法
    Activity.startManagingCursor方法
    application/xwwwformurlencoded、multipart/formdata、text/plain
    TCP三次握手/四次挥手详解
    hdu 2157 How many ways??
    zoj 2475 Benny's Compiler
    zoj 2744 Palindromes
    zoj 2750 Idiomatic Phrases Game
    zoj 2104 Let the Balloon Rise
    flash:学习ActionScript的一些提示
  • 原文地址:https://www.cnblogs.com/xiaoyaoweb/p/8934552.html
Copyright © 2011-2022 走看看