js的基本包装类型和引用类型的区别

<script type="text/javascript">
    //这里变量包含一个字符串
	var s1 = "some text";
    //但是它有一些自己的基本类型相应的特殊行为
    /*
	 *实际上,我们在读取一个基本类型的时候,后台就会创建一个基本包装类型的变量,从而让我们去执行这些方法
	 * 方法执行完毕,对象自动被销毁
	 * 
	 * 后台处理的流程:
	 * 创建String类型的一个实例
	 * 在实例上调用指定的方法
	 * 销毁这个实例
	 * 
	 * Boolean 和Number也是如此
	 * 
	 * 引用类型与基本包装类型的主要区别就是对象的生存期。
	 * 使用new 操作符创建的引用类型的实例,在执行流离开当前作用域之前一直都保存在内存当中,没有被回收
      * 而我们下面自动创建的基本包装类型的对象,则只存在于代码执行的一瞬间,然后立即被销毁
* 这就表示,我们不能为在运行时为基本类型添加方法和属性
* */ //基本包装类型 alert(s1.substring(0)); //some text s1.color = "red"; alert(s1.color); //undefined //引用类型 var s2 = new String("another text"); s2.color = 'blue'; alert(s2.color); //blue
</script>

  

posted @ 2017-04-18 21:29  星辰之夜  阅读(418)  评论(0)    收藏  举报