题目是:谈谈基本类型与引用类型的差别?
1.引用类型相对基本类型可以为其添加属性方法
2.基本类型被复制于另一个变量时,会在该变量对象创建一个新值,然后把值复制到为新变量分配的位置上,而引用类型引用的都是同一个对象。
3.函数的参数都是按值传递
4.传参为基本类型时,参数传进后,即被创建为新的,与函数外之前定义的毫不相干。而如果传的参数为引用类型,即是一个新创建的对象,则于
之前传入的值引用的是同一(对象)地址,函数内如果对其发生改变,会影响函数外的那个值,但如果再此基础上函数内再创建一个新的对象,不
会再改变函数外的那个值,因为此时创建的对象,就是引用的一个局部变量了,在函数执行完过后就会被销毁!~
5.检查基本类型用typeof 检查引用类型,同时为什么类型的对象,alert(a instanceof Object/Array/RegExp)结果true或者flase;
6.如果再函数内用了var定义变量,则外部访问不了。如果没有var,即函数已经执行完毕,后面的代码依旧可以访问它。
区别在于对象的生存期,使用new操作符创建引用的实例。在执行流离开当前作用域之前都一直保持在 内存中,而自动创建的基本包装类型对象(基本类型),只存在于一行代码的执行瞬间,然后立即被销毁,so不能再运行时为基本类型值添加属性和方法。
我只答了4和6. |
|