JavaScript数据类型
基本类型:String,Boolean,Number,Undefined,Null
基本包装类型:String,Boolean,Number
引用类型:Object,Array,Data,RegExp,Function
单体内置对象:Global,Math
基本包装类型解析:
//我们平常写程序的过程:
var str = 'hello'; //string 基本类型
var s2 = str.charAt(0); //在执行到这一句的时候 后台会自动完成以下动作 :
(
var _str = new String('hello'); // 1 找到对应的包装对象类型,然后通过包装对象创建出一个和基本类
//型值相同的对象
var s2 = _str.chaAt(0); // 2 然后这个对象就可以调用包装对象下的方法,并且返回结给s2.
_str = null; // 3 之后这个临时创建的对象就被销毁了, str =null;
)
alert(s2);//h
alert(str);//hello
1、
为了便于操作基本类型值,ECMAScript还提供了3个特殊的引用类型:Boolean、Number和String。具有与各自的基本类型相应的特殊行为。实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据。
2、
基本类型值不是对象,因而从逻辑上讲它们不应该有方法(尽管如我们所愿,它们确实有方法)。其实,为了让我们实现这种直观的操作,后台已经自动完成了一系列的处理。
(1)创建String类型的一个实例;
(2)在实例上调用指定的方法;
(3)销毁这个实例。
经过处理,基本的字符串值就变得跟对象一样了
3、
由此我们可以知道,引用类型和基本包装对象的区别在于:生存期
引用类型所创建的对象,在执行的期间一直在内存中,而基本包装对象只是存在了一瞬间。
结论:
普通的内置对象与基本包装类型的主要区别就是对象的生命期,使用new操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中,而自动创建的基本包装类型的对象,则只是存在于一行代码的执行瞬间,然后立即被立即销毁。这意味着我们不能在运行时为基本包装类型值添加属性和方法。怎么才能给基本类型添加方法或者属性呢?可以在基本包装对象的原型下面添加(每个对象都有原型)。
参考文章链接:https://www.cnblogs.com/runhua/p/9588769.html
上一篇: JavaScript数据类型
下一篇: 路由卫士防蹭网图文教程