先看这样一些测试代码,我们能从当中发现哪些问题:
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
相关推荐
内置构造器是JavaScript中用于创建特定类型对象的特殊函数。例如,`Number`构造器可以用于创建数字对象。可以通过如下方式访问这些构造器: ```javascript var number = new Number(123); var numConstructor1 = ...
- **封装**:封装是将对象的状态和行为包装在一起,隐藏内部细节,仅暴露出必要的接口供外部访问。这样可以保护数据不被错误修改,同时简化了对象的使用。例如,汽车的引擎内部结构对外部用户是隐藏的,用户只需知道...
在JavaScript中,包装类型是基本类型与引用类型转换的桥梁,它让基本类型能够使用对象的方法。本文将详细解释JavaScript中的包装类型,包括String、Boolean和Number三种包装类型,以及它们在JavaScript中的作用和...
4. 原始包装类型:JavaScript有三种原始包装类型(Boolean、Number、String),它们提供了对象化的接口,允许我们对原始值进行方法调用。 5. this关键字:this在JavaScript中用于引用当前执行上下文的对象,它的值...
总结来说,JavaScript中的Object类型是构建复杂数据结构和功能的核心,理解其基本属性和方法,以及全局对象和包装对象的概念,对于深入学习JavaScript至关重要。这些基础知识能够帮助开发者更好地理解和操作...
总之,JavaScript中的基本包装类型为基本数据类型的操作提供了便利,使得基本类型值能够调用方法,从而像操作对象那样处理数据,但与此同时,它们的使用也有一定的限制和特性,需要我们在编码实践中加以注意。
对象只是带有属性和方法的特殊数据类型。布尔型、数字型、字符串也可以是一个对象,日期是一个对象,数学和正则表达式也是对象,数组是一个对象,甚至函数也可以是对象。 在 JavaScript 中,对象拥有属性和方法。...
这些包装类型对象使得我们可以对原始值进行方法调用,如字符串的`toUpperCase()`。 变量和作用域是JavaScript的核心概念。变量的声明可以用`var`关键字,其作用域可以是全局或局部。全局变量在整个脚本中都有效,而...
基本包装类型是原始数据类型的包装形式,如Number对象是number原始数据类型的包装形式。教学中以Number对象为例,从基本存储结构、赋值操作、实例的创建、属性和方法等几个方面来分析它们的区别。 三、原型链的理解...
首先,基本包装类型的概念意味着基本类型值在进行操作时,JavaScript引擎会自动创建一个对应的包装对象,让我们可以调用一些方法。例如,当字符串有一个方法被调用时,引擎会先创建一个String对象,该对象的值是字符...
JavaScript中的数据类型可以分为两大类:基本数据类型和复杂数据类型(对象)。 - **基本数据类型**主要包括Undefined、Null、Boolean、Number和String。需要注意的是,这里提到的基本数据类型指的是数据的原始类型...
封装是面向对象编程的基本原则之一,它指的是将数据和操作这些数据的方法包装在一起,隐藏对象的内部状态和细节,只通过接口来与外部进行交互。在JavaScript中,可以通过以下几种方式来实现封装: ##### 1. 原始...
在JavaScript中,一切都是对象,包括基本类型如字符串、数字和布尔值,它们都有对应的包装对象。理解JavaScript对象模型对于深入学习和使用JavaScript至关重要。 JavaScript对象基于原型(Prototype)体系,这意味...
例如Number对象和String对象,它们都是原始数据类型的包装器。Number对象提供了很多属性和方法来处理数字,如MIN_VALUE和MAX_VALUE属性用于获取数字的最小值和最大值,toString()方法用于将数字转换为字符串。而...
JavaScript中的包装对象是指原始数据类型(字符串、数字、布尔值)的临时封装对象。这些原始数据类型在JavaScript中是基本类型,不是对象,但它们可以使用对象的方法,比如字符串的`length`属性或数字的`toString()`...
然而,由于包装类型对象的短暂性,尝试为基本类型值添加属性和方法在运行时通常是无效的,如`s1.color = 'red';`会得到`undefined`。 创建包装类型的两种不推荐的方式: 1. **Object方式**:`var s = new Object('...
JavaScript对象是一种复合值:它是属性和已命名值的集合。通过”.”符号来引用属性值。...没错,这正跟我们正要介绍的包装对象有关。原因是:只要引用了字符串s的属性,JavaScript就会将字符串值通过调用new
JavaScript是面向对象的语言,使用”.”操作符可以访问对象的属性和方法,而对于基本类型(null, undefined, bool, number, string)应该是值类型,没有属性和方法,然而 代码如下:var s=’this is a string’;...
四、基本包装类型 JavaScript还提供了三个特殊的引用类型:Boolean、Number和String。它们是基本类型的包装器,允许我们将基本类型值当作对象来操作。但这种包装器创建的对象与直接使用new操作符创建的对象不同。...