javascript对象基础讲解

上传人:第*** 文档编号:56103671 上传时间:2018-10-09 格式:PDF 页数:23 大小:407.40KB
返回 下载 相关 举报
javascript对象基础讲解_第1页
第1页 / 共23页
javascript对象基础讲解_第2页
第2页 / 共23页
javascript对象基础讲解_第3页
第3页 / 共23页
javascript对象基础讲解_第4页
第4页 / 共23页
javascript对象基础讲解_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《javascript对象基础讲解》由会员分享,可在线阅读,更多相关《javascript对象基础讲解(23页珍藏版)》请在金锄头文库上搜索。

1、1.Object1.Object 对象详解对象详解javascript 里最基本的数据类型是对象。 javaScript 里的对象其实是一个无序的属性集合, 属性又是一个个的名-值对。 除了字符串,数字,true,false,null 或者 undefined 以外,其他所有的值在 JavaScript 里头 都是对象。 对象是引用类型,如果变量 x 表示一个对象,当执行 var y = x;语句后,实际上 y 和 x 指向 的是同一个对象。所以,当你通过 y 改变对象的值,这种变化也会反映到 x 上。 Object 是在 javascript 中一个被我们经常使用的类型,而且 JS 中的所有

2、对象都是继承自 Object 对象的。1.11.1 创建对象:创建对象:首先我们都知道,对象就是一组相似数据和功能的集合,我们就是用它来模拟我们现实世 界中的对象的。那在 Javascript 中,创建对象的方式通常有两种方式:构造函数(new 关键字)和 对象字面量。1. 字面量表示法:字面量表示法: 对象字面量很好理解,使用 key/value 的形式直接创建对象,简洁方便。 var book = ;/创建一个没有属性的对象 var book = name : “The Definitive Guide“, “main title“ : “JavaScript“,/当属性名中间有空格,或者

3、“-“时,要用引号把属性名括起 来 author : /对象的属性也可以是对象 firstname : “Rex“, lastname : “Mai ; 这种方式直接通过花括号将对象的属性包起来,使用 key/value 的方式创建对象属性,每个 属性之间用逗号隔开。 注意:如果是最后一个属性,后面就不要加逗号,因为在一些旧的浏览器下会报错。2. 使用使用 new 关键字:关键字:var o = new Object(); / 创建一个空对象,效果等同. var d = new Date(); / 创建一个表示当前时间的对象 var r = new RegExp(“js“); / 创建一个正则

4、表达式对象var person = new Object(); person.name = “狼狼的蓝胖子“; person.age = 25; 或者 function Person(name, age) this.name = name; this.age = age; this.show=function() var person = new Person(“Jack“, 15); Person.show()这种方式使用 new 关键字, 接着跟上 Object 构造函数, 再来给对象实例动态添加上不同的属性。原型对象概念原型对象概念无论什么时候, 只要创建一个新函数, 就会根据一组特定的

5、规则为该函数创建一个 prototype 属性, 这个属性指向函数的原型对象。 在默认情况下, 所有原型对象都会自动获得一个constructor (构造函数)属性,这个属性包含一个指向 prototype 属性所在函数的指针。而通过这个构造 函数,可以继续为原型对象添加其他属性和方法。创建了自定义的构造函数后,其原型对象默 认只会取得 constructor 属性;至于其他方法,则都从 Object 继承而来。当调用构造函数创建 一个新实例后,该实例的内部将包含一个指针(内部属性),指向构造函数的原型对象。 ECMA-262 第 5 版管这个指针叫 Prototype 。脚本中没有标准的方式

6、访问 Prototype,但 Firefox、Safari 和 Chrome 在每个对象上都支持一个属性_proto_;而在其他实现中,这个属性 对脚本是完全不可见的。不过,要明确的真正重要的一点就是,这个连接存在于示例和构造函 数的原型对象之间,而不是存在于实例和构造函数之间。 这段话基本概述了构造函数、原型、示例之间的关系,下图表示更清晰其实其实 javascript 的的 new 关键字只不过做了五件事情。关键字只不过做了五件事情。1.创建 Object 2.查找 class 的 prototype 上的所有方法、属性,复制一份给创建的 Object(注意,如果 prototype 上有

7、属性是 function 或者数组或者 Object,那么只复制指针) 3.将构造函数 classA 内部的 this 指向创建的 Object 4.创建的 Object 的_proto_指向 class 的 prototype 5.执行构造函数 class / 定义类 类名字是 classA function classA() this.b=1;/在里面是 this this.query=function() classA.prototype.b=44;/在外边是 classA.prototype classA.prototype.show = function() alert(this.b

8、); ; / 用 new 实例化 var b = new classA(); b.show();1.21.2 获取对象的值:获取对象的值:通过通过.或者或者操作符。操作符。book.title; book“title“; var propertyName = “title“; bookpropertyName; 如果对象的属性是固定的,那么这两个方法的作用差别不大。但由于 javascript 是一种松散类型 的语言,所以,你可以在程序运行期间为对象添加任意数量的属性。当你使用.操作符访问对象 属性时,.后面的名字其实只是一个标识符,所以你必须完整的输入这个标识符,才能够访问到。1.31.3

9、ObjectObject 对象属性及方法对象属性及方法( (了解了解) )constructor 属性constructor 属性是保存当前对象的构造函数,前面的例子中,constructor 保存的就是 Object 方 法。var obj1 = new Object(); obj1.id = “obj1“; var obj2 = “id“: “obj2“ ;console.log(obj1.constructor);/function Object() console.log(obj2.constructor);/function Object() hasOwnProperty(prope

10、rtyName)hasOwnProperty 方法接收一个字符串参数,该参数表示属性名 称,用来判断该属性是否在当前对象实例中,而不是在对象的原型链中。我们来看看下面这个 例子: isPrototypeOf(Object)方法方法 isPrototype 方法接收一个对象, 用来判断当前对象是否在传入的参数 对象的原型链上 propertyIsEnumerable(prototypeName) prototypeIsEnumerable 用来判断给定的属性是否可以被 forin 语句给枚举出来。 toLocaleString() toLocalString 方法返回对象的字符串表示,和代码的执

11、行环境有关。toString()方法方法 toString 用来返回对象的字符串表示。valueOf()方法方法 valueOf 方法返回对象的原始值,可能是字符串、数值或 bool 值等,看具体的对 象。2.2.J JS S 对象对象2.12.1 StringString 对象对象属性属性:constructor 所建立对象的函数参考prototype 能够为对象加入的属性和方法length 返回字符串的字符长度方法方法:substr(startIndex, length) 从 startIndex 取,取 length 个字符startIndex 必需。要抽取的子串的起始下标, 必须是数值

12、。如果是负数,那么该参数声明 从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个 字符,以此类推。length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从stringObject 的开始位置到结尾的字串。substring(startIndex, stopIndex) 从 startIndex 和 stopIndex 之间的字符,不包括stopIndexstartIndex 必需。 一个非负的整数, 规定要提取的子串的第一个字符在 stringObject 中的 位置。 stopIndex 可选。一个非负的整数,比要提取的子串的最后一个

13、字符在 stringObject 中的 位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。toSource() 显示对象的源代码valueOf() 返回字符串对象的当前被赋予的值string.toLowerCase()返回小写的新字符串.string.toUpperCase()返回大写的新字符串. string.concat(string)将字符串连接在一起并返回. string.charAt(pos) 返回pos位置上的字符串(js没有char类型). 若pos=string.length, 则返回空字符串. str1.localeCompare(str2) 比较两个字符串,

14、若 str1 0 代表字符串 percent 中含有%var str=“Hello world!“ document.write(str.indexOf(“Hello“) + “) document.write(str.indexOf(“World“) + “) document.write(str.indexOf(“world“)以上代码的输出: 0 -1 6string.match(regexp)若 regexp 带g, 则返回包含匹配内容的数组(不包含分 组).没有g时, 则和 regexp.exec(string)返回相同的结果. 例如, var s1 = 1a2b; var reg1

15、 = /d+/; var reg2 = /d+/g; var reg3 = /(d)+/; console.log(reg1.exec(s1);/ 1, index: 0, input: 1a2b console.log(s1.match(reg1); / 1, index: 0, input: 1a2b console.log(s1.match(reg3); / 1, 1, index: 0, input: 1a2b console.log(s1.match(reg2); / a, b String.fromCharCode(code) 参数是一些数值, 把这些数值作为字符的编码值对待, 返

16、回一个字符串. 这个方法和 charCodeAt()相反. var str = String.fromCharCode(25140, 24544); console.log(str); / 戴忠anchor(“name“)用来把字符串转换为 HTML 锚点标记内()big() 把字符串中的文本变成大字体()blink() 把字符串中的文本变成闪烁字体()bold() 把字符串中的文本变成黑字体()fixed() 把字符串中的文本变成固定间距字体,即电报形式()fontcolor(color)设置字符串中文本的颜色()Fontsize(size) 把字符串中的文本变成指定大小()italics() 把字符串中的文本变成斜字体()Link(url)用来把字符串转换-HTML 链接标记中()small() 把字符串中的文本变成小字体()strike()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号