js的基础类型与引用类型

引用类型,自己的感觉,就是引用类型 ,就是把js中的基础类型(js中并没有类的概念)引用过来给自己用然后就变成了引用类型,那么js的基础类型和引用类型到底在内存中是怎么操作的呢,请看:

两种类型:

  1. ECMAScript变量包含两种不同类型的值:基本类型值、引用类型值
  2. 基本类型值:指的是保存在栈内存中的简单数据段
  3. 引用类型值:指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针执行内存中的另一个位置,由该位置保存对象

两种访问方式:

  1. 基本类型值:按值访问,操作的是他们实际保存的值;
  2. 引用类型值:按引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值

两种类型复制

  1. 基本类型变量的复制:从一个变量向一个变量复制时,会在栈中创建一个新值,然后把值复制到为新变量分配的位置上
  2. 引用类型变量的复制:复制的是存储在栈中的指针,将指针复制到栈中未新变量分配的空间中,而这个指针副本和原指针执行存储在堆中的同一个对象;复制操作结束后,两个变量实际上将引用同一个对象;因此改变其中的一个,将影响另一个

函数参数的传递:

  1. ECMA中所有函数的参数都是按值传递的

两种变量类型检测

  1. Typeof操作符是检测基本类型的最佳工具
  2. 如果变量值是nul或者对象,typeof 将返回“object”
  3. Instanceof用于检测引用类型,可以检测到具体的,它是什么类型的实例
  4. 如果变量是给定引用类型的实例,instanceof操作符会返回true


转载自http://www.cnblogs.com/qqqiangqiang/p/4895998.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,496评论 11 349
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,401评论 30 472
  • 多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原...
    LZM轮回阅读 6,125评论 0 12
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 9,173评论 0 11
  • 上一章:接龙客栈602 末日火种10‖清风自来 走进末日,体验冷暖:末日火种目录 骑着摩托行出很远,阳光渐盛,戈壁...
    三日初醒阅读 1,378评论 6 7

友情链接更多精彩内容