javascript对于值类型数据的对象包装简单介绍
分类:实例代码
本本章节简单介绍一下javascript对于值类型数据(简单类型数据)的封装,希望能够给需要的朋友带来一定的帮助。
如果我们要使用一个字符串,通常会使用如下方式声明,代码如下:
var str="pipipi.net";
很明显,上面是一个值类型数据,但是它可以调用方法对数据进行操作,代码如下:
var str="pipipi.net"; console.log(str.toUpperCase());
上面的代码可以正常运行。按照正常的理论,只有对象才可以调用方法,为什么一个值类型数据也可以呢。
这是因为javascript会对值类型数据进行隐式的包装操作,过程可以理解为如下:
var str=new String("pipipi.net") console.log(str.toUpperCase());
但是对于str的包装只是暂时的,当调用完成之后,数据又会立马还原为值类型,可以理解为进行了如下操作:
var str=new String("pipipi.net") consoloe.log(str.toUpperCase()); str="pipipi.net";
再来看一段代码实例来证明一下上面的论断:
var str="pipipi.net"; str.antzone="前端教程网"; consoloe.log(str.antzone);
上面的代码并不能输出期望的antzone属性值,这是因为当str创建antzone属性的时候会包装成一个对象。
赋值完毕以后,里面又会通过类似str="pipipi.net"方式成为一个值类型,当然也就没有antzone属性了。
对于其他的值类型数据也是如此,这里就不多介绍了。
网站出售中,有意者加微信:javadudu