黑马程序员技术交流社区

标题: 前天面试碰到了个问题,竟没答全,分享下。 [打印本页]

作者: Juice.cy.wang    时间: 2015-11-25 10:45
标题: 前天面试碰到了个问题,竟没答全,分享下。
题目是:谈谈基本类型与引用类型的差别?
  
1.引用类型相对基本类型可以为其添加属性方法
2.基本类型被复制于另一个变量时,会在该变量对象创建一个新值,然后把值复制到为新变量分配的位置上,而引用类型引用的都是同一个对象。
3.函数的参数都是按值传递
4.传参为基本类型时,参数传进后,即被创建为新的,与函数外之前定义的毫不相干。而如果传的参数为引用类型,即是一个新创建的对象,则于
之前传入的值引用的是同一(对象)地址,函数内如果对其发生改变,会影响函数外的那个值,但如果再此基础上函数内再创建一个新的对象,不
会再改变函数外的那个值,因为此时创建的对象,就是引用的一个局部变量了,在函数执行完过后就会被销毁!~
5.检查基本类型用typeof 检查引用类型,同时为什么类型的对象,alert(a instanceof Object/Array/RegExp)结果true或者flase;
6.如果再函数内用了var定义变量,则外部访问不了。如果没有var,即函数已经执行完毕,后面的代码依旧可以访问它。
区别在于对象的生存期,使用new操作符创建引用的实例。在执行流离开当前作用域之前都一直保持在 内存中,而自动创建的基本包装类型对象(基本类型),只存在于一行代码的执行瞬间,然后立即被销毁,so不能再运行时为基本类型值添加属性和方法。
        我只答了4和6.
作者: 杨洛神    时间: 2015-11-25 18:47
受益良多,感謝分享
作者: hrfhwy    时间: 2015-11-25 20:45
太深奥了
作者: wqd123    时间: 2015-11-25 21:33
太详细了,,感谢
作者: xiaobei56    时间: 2015-11-26 00:07
写的够全的,感觉自己弱弱的
作者: mlxg    时间: 2015-11-26 00:17
赞一个!!!
作者: xiaoziyk    时间: 2015-11-26 01:06
必须记一下,万一遇到了
作者: Little_jie    时间: 2015-11-26 09:52
学习了,很全面
作者: 溜溜金    时间: 2015-11-26 10:00
收益良多
作者: hp940406    时间: 2015-11-26 15:07
很有收获

作者: hansnowqiang    时间: 2015-11-26 20:21
很有收获
作者: love60477002    时间: 2015-11-26 20:21
学习了 感谢楼主




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2