js的包装对象

包装对象 : 基本类型都有自己对应的包装对象 : String  Number  Boolean 。

例如

var str = ‘hello‘;

str.charAt(0);这里用的就是sting类型的包装对象String下面的方法。当执行这一句话的时候,基本类型会找到对应的包装对象类型,然后包装对象把所有的属性和方法给了基本类型,然后包装对象消失。看下面这道题

var str = ‘hello‘;

str.number = 10;

alert( str.number ); //undefined

这里结果是undefined。执行第一句话的时候,str是一个基本类型,执行第二句话的时候,str是包装对象的一个对象,并且给它添加了一个属性number,然后就消失了。

执行到第三句话的时候,str是另一个包装对象的对象,没有number属性,所以结果是undefined。

正确的做法应该是

var str = ‘hello‘;

String.prototype.number = 10;

alert( str.number );

时间: 2024-10-13 11:59:03

js的包装对象的相关文章

轻松理解JS基本包装对象

今天来讨论一下JS中的基本包装对象(也叫基本包装类型),之前刚学到这里的时候,自己也是一头雾水,不明白这个基本包装对象到底是个什么鬼,后来找了很多资料,终于看清了它的真面目.首先呢,我们现在复习一下JS的数据类型,JS数据类型被分为了两大门派,基本类型和引用类型. 基本类型:Undefined,Null,Boolean,Number,String 引用类型:Object,Array,Date,RegExp等,说白了就是对象... 我们都知道,引用类型有方法和属性,但是基本类型是木有的,但是你一定

为什么字符串会有length属性-JS中包装对象

任何原始类型的数据  (primitive type) 比如 String类型的字符串 "abcd" "abcd"  是原始类型的数据 但是 当他调用 length的时候 会返回一个整数( 原始类型数值,注意这里说的是数值  本身是没有任何方法的) 在调用length的时候, JS引擎会先对原始类型数据进行包装    new String("abcd") 然后对其方法进行调用   new String("abcd").leng

js数据类型隐式转换笔记以及js包装对象

“37”+7              //377 “37”-7              //30 巧用+/-规则  变字符串  x+''   变数字x-0 js里面的==是不严格等于 “123” == 123 0 == false nul l== undefined new  Object() == new Object() [1,2]==[1,2] 但是[1,2]===[1,2]是错的 因为比较的是对象的引用 ps: NaN值和任何东西比较都不相等 即便是不严格等于 ———————————

js学习笔记之包装对象

JavaScript包装对象 近日有时间,闲下来好好学习原生js JavaScript是一门面向对象语言,使用"."就可以访问对象的属性和方法,而基本类型(null, undefined, bool, number, string)应该是值类型,怎么会有属性和方法. 但是 var s="string"; console.log(s.length);//6 console.log(s.indexOf('i'));//3 于是去翻阅资料 JavaScript可以很灵活的

js基础学习之-js包装对象

1 var test = "test"; 2 test.a = "hello"; 3 console.log(test.a); //undifined 定义: 在JavaScript中,“一切皆对象”,数组和函数本质上都是对象,就连三种原始类型的值——数值.字符串.布尔值——在一定条件下,也会自动转为对象,也就是原始类型的“包装对象”. 通俗来讲: 字符串,数值,字符串,这些单身狗看其它人都有对象,非常不爽,所以自己也搞了个对象,名字叫包装. 1 console.l

标准库》第三章 包装对象和Boolean对象

第三部分  标准库 ***************第三章   包装对象和Boolean对象******************* 一.包装对象的定义[1]有人说,JavaScript语言"一切皆对象",数组和函数本质上都是对象,就连三种原始类型的值--数值.字符串.布尔值--在一定条件下,也会自动转为对象,也就是原始类型的"包装对象". 所谓"包装对象",就是分别与数值.字符串.布尔值相对应的Number.String.Boolean三个原生对象

(第一天)包装对象、作用域、创建对象

基本概念以及注意 直接量 :程序中直接使用的数据值.下面列出的都是直接量: 1 12 //数字 2 1.2 //小数 3 "hello world" //字符串文本 4 true //布尔值 5 /javascript/gi //正则表达式直接量 标识符 :必须以字母.下划线(_)或美元符($)开始 可选的分号 :如下代码 (1) 1 a = 3; /*两条语句分两行写,第一个分号可以省略*/ 2 b = 4; a = 3; b = 4; 第一个分号则不能省略掉 (2) 1 retur

原始对象和包装对象

我们先看段代码: var s = "Test"; var len=s.length; 我们知道在JavaScript中像上面这样声明的字符串不是对象,但既然这里的s不是对象,为什么会有length的属性呢? 原因是在JavaScript中只要引用了字符串(数字.布尔值也是一样的)的属性,JS就会将字符串通过调用new String(s)的方式转换成对象,这个对象继承了字符串的方法,并被用来处理属性的引用.一旦属性引用结束,这个新创建的对象就会销毁(真实实现并不一定是这样,但整个过程看起

什么是包装对象

JS提供了11种引用类型:Object.Array.Date.Function.Error.RegExp.Math.Number.String.Boolean.Globle.其中包括了三种基本包装类型,也就是Number.String和Boolean,它们是特殊的引用类型,既与其他的引用类型相似,同时又具有与各自的原始类型相应的特殊行为. 一.什么是包装类型? 因为这字符串.数值.布尔三种原始类型的值,在一定条件下会自动转化为对象,因此被称为原始类型的“包装类型”. 例如:var a1="som