`

关于javascript的包装类型对象

阅读更多

先看这样一些测试代码,我们能从当中发现哪些问题:

var str=”likeke”;

str;//”likeke”

str.length;//6

str.age=22;

str.age;//undefined;

 

var mystr=new String(“likeke”);

mystr;//String {0: "l", 1: "i", 2: "k", 3: "e", 4: "k", 5: "e", length: 6, [[PrimitiveValue]]: "likeke"}

mystr.length;//6

mystr.age=22;

mystr.age;//22

第一个问题:为什么基本类型string可以访问到length属性?

第二个问题:string的包装类型可以访问到自定义的属性,但基本类型的string为什么却访问不到?

原因:1.当我们以对象的形式访问一个基本类型string的属性或为其创建新属性的时候,js引擎会将其转换为对应的包装类型对象;

             2.当我们增加一个自定义属性之后,这个临时对象会被立即销毁。因此,再次访问此属性时(也会再次转换为其包装类型)显示为undefind 。

除了string之外,其它基本类型也是类似的原理,例如,(666).toString().length;//3

1
0
分享到:
评论

相关推荐

    JavaScript包装对象使用详解

    JavaScript对象是一种复合值:它是属性和已命名值的集合。通过”.”符号来引用属性值。...没错,这正跟我们正要介绍的包装对象有关。原因是:只要引用了字符串s的属性,JavaScript就会将字符串值通过调用new

    JavaScript包装对象使用介绍

    JavaScript是面向对象的语言,使用”.”操作符可以访问对象的属性和方法,而对于基本类型(null, undefined, bool, number, string)应该是值类型,没有属性和方法,然而 代码如下:var s=’this is a string’;...

    【JavaScript源代码】JavaScript中的Proxy对象.docx

    target: 要使用Proxy包装的目标对象,可以是任何类型的对象,包括原生数组,函数,甚至另一个代理。 handler: 一个通常以函数作为属性的对象,各属性中的函数分别定义了在执行各种操作时代理proxy的行为。  ...

    1.16 JavaScript高级-面向对象.pdf

    javascript部分内容第三节 内置对象 面向对象入门 基本包装类型 变量、作用域及内存

    【JavaScript源代码】JavaScript高级程序设计之基本引用类型.docx

     目录 1、Date2、RegExp3、原始包装类型 1、Date 2、RegExp 3、原始包装类型 前言: 引用值(对象)都是某个特定的引用类型的实例对象,例如 Date类型、Function类型,RegExp 正则表达式类型等等。JavaScript...

    JavaScript类型系统之基本数据类型与包装类型

     引用类型由于其值的大小会改变,所以不能将其存放在栈中,否则会降低变量查询速度,因此其存储在堆(heap)中,存储在变量处的值是一个指针,指向存储对象的内存处(按址访问)  [注意]对于引用类型的值,可以为其...

    JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】

    本文实例讲述了JavaScript引用类型之基本包装类型。分享给大家供大家参考,具体如下: 为了操作基本类型值,ECDMAScript提供了3个特殊的引用类型——基本包装类型Boolean、Number和String。每当读取一个基本类型值时...

    JavaScript权威指南-第六版

     3.6 包装对象46  3.7 不可变的原始值和可变的对象引用47  3.8 类型转换48  3.9 变量声明55  3.10 变量作用域56  第4章 表达式和运算符60  4.1 原始表达式60  4.2 对象和数组的初始化表达式61  4.3 函数...

    JavaScript权威指南(第6版)

    3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 ...

    JavaScript权威指南(第6版)(附源码)

    3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 ...

    JavaScript权威指南(第6版)中文版pdf+源代码

     3.6 包装对象46  3.7 不可变的原始值和可变的对象引用47  3.8 类型转换48  3.9 变量声明55  3.10 变量作用域56  第4章 表达式和运算符60  4.1 原始表达式60  4.2 对象和数组的初始化表达式61  4.3 函数...

    JavaScript 类型的包装对象(Typed Wrappers)

    JavaScript 有一套类型的包装对象,需要的朋友可以参考下。

    javascript基本包装类型介绍

    实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而能够调用一些方法来操作这些数据。 一.基本包装类型概述 var box = 'Mr. Lee';//定义一个字符串 var box2 = box.substring...

    JavaScript权威指南(第6版) 英文版

    3.6 包装对象 46 3.7 不可变的原始值和可变的对象引用 47 3.8 类型转换 48 3.9 变量声明 55 3.10 变量作用域 56 第4章 表达式和运算符 60 4.1 原始表达式 60 4.2 对象和数组的初始化表达式 61 4.3 ...

    JavaScript权威指南(第6版)中文文字版

    3.6 包装对象 46 3.7 不可变的原始值和可变的对象引用 47 .3.8 类型转换 48 3.9 变量声明 55 3.10 变量作用域 56 第4章 表达式和运算符 60 4.1 原始表达式 60 4.2 对象和数组的初始化表达式 61 4.3 函数定义表达式 ...

    JavaScript权威指南(第6版)(中文版)

    3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用域 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 ...

    JavaScript 权威指南(第四版).pdf

     3.6 包装对象46  3.7 不可变的原始值和可变的对象引用47  3.8 类型转换48  3.9 变量声明55  3.10 变量作用域56  第4章 表达式和运算符60  4.1 原始表达式60  4.2 对象和数组的初始化表达式61  4.3 函数...

    Xujie990604#HTML-CSS-Javascript-#基本包装类对象1

    Boolean类型var a = new Boolean(true/false)来创建一个Boolean对象Boolean的类型的实例重写了valueOf()返

    JavaScript王者归来part.1 总数2

     10.4 关于正则表达式包装对象   10.4.1 RegExp对象——利用正则表达式实现全文检索   10.4.2 RegExp的实例属性   10.5 强大的正则表达式   10.5.1 分析正则表达式的局部   10.5.2 一个例子--强大的在线...

Global site tag (gtag.js) - Google Analytics