JS中的基本包装类型
2024-10-09 04:03:30
想一下:为什么String类型的值可以调用某些方法和访问某些属性呢?
在基本数据类型中有3个特殊的存在:String Number Boolean
这三个基本类型都有自己对应的包装对象。包装对象,其实就是对象,有相应的属性和方法。调用方法的过程,是在后台偷偷发生的,所以我们称作为基本包装类型。
//我们平常写程序的过程:
var str = 'hello'; //string 基本类型
var s2 = str.charAt(0); //在执行到这一句的时候 后台会自动完成以下动作 :
//后台偷偷发生的
(
var _str = new String('hello'); // 1.创建String类型的一个实例
var s2 = _str.chaAt(0); // 2 在实例上调用指定的方法,并且返回结给s2
_str = null; // 3.销毁这个实例
)
alert(s2);//h
alert(str);//hello
在看一个例子
var str = 'string';
str.pro = 'hello';
console.log(str.pro);
当执行 str.pro = 'hello' 时,实际上内部创建了一个基本包装类型的实例,然后给这个实例的 pro 属性赋值为 hello,实例创建后马上销毁了,当下一次试图获取 str.pro 的值时,又会创建一个基本包装类型的实例,显然新创建的实例时没有 pro 属性的,为 undefined,所以最后输出 undefined 。
最新文章
- GO语言下载、安装、配置
- Segmentation fault (core dumped)
- Openxml入门---Openxm读取Excel数据
- 【翻译】Tomcat 6.0 部署与发布
- 解决java.lang.SecurityException: Access to default session denied
- HashSet HashTable HashMap的区别 及其Java集合介绍
- Windows下安装Cygwin及包管理器apt-cyg(转)
- Testin
- Web Design:欧美人形剪影的404界面
- 【模拟】UVa 1030 - Image Is Everything
- java web 学习(2)
- C/C++ 指针的非空判断
- 常用的shell命令整理
- Games on a CD
- BaseAction 使用
- XML学习笔记之XML的简介
- 阿里云CentOS搭建系统
- Python_day1
- GitHub上高质量项目
- KVM上如何让虚拟机支持虚拟化(kvm虚拟化的嵌套)