9/11包装对象

JavaScript对象是一种复合值:它是属性或已命名值得集合。通过“.”符号来引用属性值。

当属性值是一个函数时候,称奇为方法。通过O.m()来调用对象O中的方法。

字符串也有属性和方法:、

Var s=“hello world!”;                                       //一个字符串

Var word=s.substring(s.index0f("")+1,s.lenght);   //使用字符串的属性

可通过String(),Number()或Boolean()构造函数来显示创建包装对象:

var s="text",n=1,b=ture;    //一个字符串、数字和布尔值

var S=new  String(s);         //一个字符串对象

var N=new  Number(n);      //一个数值对象

var B=new  Number(b);      //一个布尔对象

3.7 不可改变的原始值和可变的对象的引用

Js的原始值(underfined,null,布尔值,数字和字符串)与对象(包括数组和函数)有着根本区别。

对象的比较并非值得比较:即使两个对象包含同样的属性及相同的值,它们是不相等的。各个索引元素完全相等的两个数组也是不相等的。

var o={x:1}  ,p={x:1}

o===p                           //false:两个单独的对象用不相等

var  a=[] ,b=[];               //两个单独的空数组

a===b                           =>false:两个单独的数组用不相等

通常将对象称为引用类型(reference type),对象值都是引用(reference),对象的比较均是引用的比较:当且仅当它们引用同一个基对象时,它们才相等。

var a=[];     //定义一个引用空数组的变量a

var b=a;     //变量b引用同一个数组

b[0]=1;      //通过变量b来修改引用的数组

a[0]            //1:变量a也会修改

a===b;      //=>ture:a和b引用同一个数组,因此它们相等

使用循环来完成数组复制:

var a=[‘a‘、‘b‘、‘c‘];

var b=[];

for(var i=0;i<a.lenght;i++){

b[i]=a[i];

}

类型转换

js中对象到字符串的转换:

~如果对象具有toString()方法,则调用这个方法。如果他返回一个原始值,Js将这个值转换为字符串,并返回这个字符串的结果。

~如果对象没有toString()方法,或者这个方法并不返回一个原始值,那么JS会调用valueOf()方法。如果存在这个方法,则JS调用它,返回原始值。

~否则JS无法从toString()或valuOf()获得一个原始值,因此这时它将抛出一个类型错误异常。

在对象到数字的转换过程中,Js首先尝试用valueOf()方法:

时间: 2024-10-12 04:48:50

9/11包装对象的相关文章

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

基本概念以及注意 直接量 :程序中直接使用的数据值.下面列出的都是直接量: 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

什么是包装对象

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

javascript类型系统——包装对象

× 目录 [1]定义 [2]生存期 [3]显式创建[4]转型函数[5]比较运算 前面的话 javascript对象是一种复合值,它是属性或已命名值的集合.通过'.'符号来引用属性值.当属性值是一个函数时,称其为方法.通过o.m()来调用对象o中的方法.我们发现,字符串也同样具有属性和方法 var s = 'hello world'; console.log(s.length);//11 字符串既然不是对象,为什么它会有属性呢?这就引出了今天介绍的内容——包装对象 定义 包装对象是特殊的引用类型.

第五章 引用类型&gt; 基本包装对象

基本包装对象 3种特殊的引用类型:Boolean, Number和String 当读取一个基本类型的值时,后台会创建一个对应的基本包装类型的对象,能够调用一些方法来操作这些数据. var s1 = "some text"; var s2 = s1.substring(2); console.log(s2); // me text //实际上再访问s1值的时候,后台自动完成了下面一系列操作 var s1 = new String(“some text”); //创建一个String类型的

__x__(75)1012第十三天__ JavaScript 包装对象

包装对象 所谓“包装对象”,就是分别与数值.字符串.布尔值相对应的Number.String.Boolean三个原生对象 这三个原生对象可以把原始类型的值变成(包装成)对象 var v1 = new Number(123); var v2 = new String('abc'); var v3 = new Boolean(true); typeof v1 // "object" typeof v2 // "object" typeof v3 // "obj

javascript标准对象与包装对象

标准对象 在JavaScript的世界里,一切都是对象. 但是某些对象还是和其他对象不太一样.为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是返回一个字符串: typeof 123; // 'number' typeof NaN; // 'number' typeof 'str'; // 'string' typeof true; // 'boolean' typeof undefined; // 'undefined' typeof Math.abs; // 'functio

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

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

14Mybatis_输入映射(传递pojo的包装对象)——很重要

假设我们有这么一个需求:用户信息的综合查询,需要传入的查询条件很复杂(可能包括用户信息,其他的信息,比如商品,订单) 我们的思想是:传入到select中的parameterType是一个包装类,里面可以有很多的东西. 我们已经有一个user.java po类了,但我们查询的条件可能是比user这个类更复杂的.我们为了方便扩展就要延伸出一个userCustom extend user 这么一个类. 案例如下: 先给出案例结构: 上面的案例说明如下:SqlMapConfig.xml是总的配置文件.m

js的包装对象

包装对象 : 基本类型都有自己对应的包装对象 : String  Number  Boolean . 例如 var str = 'hello'; str.charAt(0);这里用的就是sting类型的包装对象String下面的方法.当执行这一句话的时候,基本类型会找到对应的包装对象类型,然后包装对象把所有的属性和方法给了基本类型,然后包装对象消失.看下面这道题 var str = 'hello'; str.number = 10; alert( str.number ); //undefine