想一下:为什么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 。

最新文章

  1. GO语言下载、安装、配置
  2. Segmentation fault (core dumped)
  3. Openxml入门---Openxm读取Excel数据
  4. 【翻译】Tomcat 6.0 部署与发布
  5. 解决java.lang.SecurityException: Access to default session denied
  6. HashSet HashTable HashMap的区别 及其Java集合介绍
  7. Windows下安装Cygwin及包管理器apt-cyg(转)
  8. Testin
  9. Web Design:欧美人形剪影的404界面
  10. 【模拟】UVa 1030 - Image Is Everything
  11. java web 学习(2)
  12. C/C++ 指针的非空判断
  13. 常用的shell命令整理
  14. Games on a CD
  15. BaseAction 使用
  16. XML学习笔记之XML的简介
  17. 阿里云CentOS搭建系统
  18. Python_day1
  19. GitHub上高质量项目
  20. KVM上如何让虚拟机支持虚拟化(kvm虚拟化的嵌套)

热门文章

  1. php数组存在重复的相反元素,去重复
  2. 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  3. tr标签使用hover的box-shadow效果不生效
  4. 数据库SQL语言从入门到精通--Part 2--MySQL安装
  5. Java实现通过反射获取指定类的所有信息
  6. Java——多线程之方法详解
  7. springboot设置banner
  8. 第3章:关系数据库标准语言 SQL
  9. 博客第一天:常用的DOS命令
  10. STM32 TIM1高级定时器RCR重复计数器的理解