11. JavaScript 对象
2015-07-21 10:51
549 查看
Javascript 中的内部对象按照使用方式可分为动态对象和静态对象。在引用动态对象的属性和方法时,必须使用new关键字来创建一个对象实例,然后才能使用”对象名.成员”的方式来访问其属性和方法;引用静态对象的属性和方法时,不需要使用new关键字来创建对象实例,直接使用”对象名.成员”的方式来访问其属性和方法即可。
1. Object 对象
Object 对象提供了对象的最基本功能,这些功能构成了所有其他对象的基础,同时还提供了创建自定义对象的简单方式,不需要再定义构造函数。使用 Object 对象可以在程序运行时为 Javascript 对象随意添加属性,因此可以很容易的创建自定义对象。
2. Object 对象属性
(1) prototype 属性
该属性返回对象类型原型的引用:
(2) constructor 属性
该属性表示创建对象的函数。
对象中的方法:
toString(),toLocaleString()方法返回string类型,valueOf()方法返回Object类型。
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…
此外,JavaScript 允许自定义对象。
JavaScript 对象
JavaScript 提供多个内建对象,比如 String、Date、Array 等等。
对象只是带有属性和方法的特殊数据类型.
访问对象的属性
属性是与对象相关的值。
访问对象属性的语法是:
访问对象的方法
方法是能够在对象上执行的动作。
您可以通过以下语法来调用方法:
创建 JavaScript 对象
通过 JavaScript,您能够定义并创建自己的对象。
创建新对象有两种不同的方法:
把属性添加到 JavaScript 对象
您可以通过为对象赋值,向已有对象添加新属性:
假设 personObj 已存在 - 您可以为其添加这些新属性:firstname、lastname、age 以及 eyecolor:
在以上代码执行后,x 的值将是:
把方法添加到 JavaScript 对象
方法只不过是附加在对象上的函数。
在构造器函数内部定义对象的方法:
changeName() 函数 name 的值赋给 person 的 lastname 属性。
现在您可以试一下:
JavaScript 类
JavaScript 是面向对象的语言,但 JavaScript 不使用类。
在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。
JavaScript 基于 prototype,而不是基于类的。
JavaScript for…in 循环
JavaScript for…in 语句循环遍历对象的属性。
语法
for (对象中的变量)
{
要执行的代码
}
注释:for…in 循环中的代码块将针对每个属性执行一次。
实例
循环遍历对象的属性:
基于对象编程:
内存回收
1. Object 对象
Object 对象提供了对象的最基本功能,这些功能构成了所有其他对象的基础,同时还提供了创建自定义对象的简单方式,不需要再定义构造函数。使用 Object 对象可以在程序运行时为 Javascript 对象随意添加属性,因此可以很容易的创建自定义对象。
2. Object 对象属性
(1) prototype 属性
该属性返回对象类型原型的引用:
ObjectName.prototype 用 prototype 属性可以提供对象的类的一组基本功能。对象的新实例"继承"赋予该对象原型的操作。 例如,要为Array对象添加返回数组中最大元素值的方法是,声明该函数, 将它加入Array.prototype,并使用它。 function array_max() { var i,max=this[0]; for(i=1;i<this.length;i++) { if(max<this[i]); max=this[i]; } return max; } Array.prototype.max = array_max; var x = new Array(1,2,3,4,5,6); var y = x.max(); alert(y); 输出:6 所有 JScript 固有对象都有只读的prototype属性,可以像该例中那样为原型添加功能, 但该对象不能被赋予不同的原型。然后, 用户定义的对象可以被赋给新的原型。 本语言参考每个内部对象的方法和 属性列表指出哪些对象原型的部分,哪些不是。
(2) constructor 属性
该属性表示创建对象的函数。
object.constructor 参数说明: object : 必选项,是对象或函数的名称。 constructor 属性是所有具有prototype 的对象的成员。它们包括除Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。例如: var x = new String("Hi"); if(x.constructor==String) { alert("zhen"); } 输出:"zhen" 或 function MyFunc() { } var y = new MyFunc(); if(y.constructor == MyFunc) { alert("lala"); } 输出:"lala"
对象中的方法:
toString(),toLocaleString()方法返回string类型,valueOf()方法返回Object类型。
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…
此外,JavaScript 允许自定义对象。
JavaScript 对象
JavaScript 提供多个内建对象,比如 String、Date、Array 等等。
对象只是带有属性和方法的特殊数据类型.
访问对象的属性
属性是与对象相关的值。
访问对象属性的语法是:
objectName.propertyName
访问对象的方法
方法是能够在对象上执行的动作。
您可以通过以下语法来调用方法:
objectName.methodName()
创建 JavaScript 对象
通过 JavaScript,您能够定义并创建自己的对象。
创建新对象有两种不同的方法:
定义并创建对象的实例 使用函数来定义对象,然后创建新的对象实例
**创建直接的实例** 这个例子创建了对象的一个新实例,并向其添加了四个属性: 实例 person=new Object(); person.firstname="Bill"; person.lastname="Gates"; person.age=56; person.eyecolor="blue";
**使用对象构造器** 本例使用函数来构造对象: 实例 <!DOCTYPE html> <html> <body> <script> function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; } myFather=new person("Bill","Gates",56,"blue"); document.write(myFather.firstname + " is " + myFather.age + " years old."); </script> </body> </html>
**创建 JavaScript 对象实例** 一旦您有了对象构造器,就可以创建新的对象实例,就像这样: var myFather=new person("Bill","Gates",56,"blue"); var myMother=new person("Steve","Jobs",48,"green");
把属性添加到 JavaScript 对象
您可以通过为对象赋值,向已有对象添加新属性:
假设 personObj 已存在 - 您可以为其添加这些新属性:firstname、lastname、age 以及 eyecolor:
person.firstname="Bill"; person.lastname="Gates"; person.age=56; person.eyecolor="blue"; x=person.firstname;
在以上代码执行后,x 的值将是:
Bill
把方法添加到 JavaScript 对象
方法只不过是附加在对象上的函数。
在构造器函数内部定义对象的方法:
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; this.changeName=changeName; function changeName(name) { this.lastname=name; } }
changeName() 函数 name 的值赋给 person 的 lastname 属性。
现在您可以试一下:
myMother.changeName("Ballmer");
JavaScript 类
JavaScript 是面向对象的语言,但 JavaScript 不使用类。
在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。
JavaScript 基于 prototype,而不是基于类的。
JavaScript for…in 循环
JavaScript for…in 语句循环遍历对象的属性。
语法
for (对象中的变量)
{
要执行的代码
}
注释:for…in 循环中的代码块将针对每个属性执行一次。
实例
循环遍历对象的属性:
var person={fname:"Bill",lname:"Gates",age:56}; for (x in person) { txt=txt + person[x]; }
基于对象编程:
内存回收
相关文章推荐
- json 数据 添加 删除 排序
- Jsp页面嵌入外部页面的方法
- JSP向后台传参数的四种方式
- 在JSP表单提交中怎样在Servlet中处理文件上传并且获取JSP页面传过来的一些参数
- 10. Javascript DOM节点
- 【JavaScript 14—学习总结】:从小事做起
- 【JavaScript 14—学习总结】:从小事做起
- js 封装的函数 总结
- 第三章 JS基本概念
- 《JavaScript高级程序设计(第三版)》读书笔记
- js编码url
- JavaScript权威指南_133_第15章_脚本化文档_15.8-文档和元素的几何形状和滚动-文档坐标和视口坐标
- JavaScript权威指南_132_第15章_脚本化文档_15.8-文档和元素的几何形状和滚动-概述
- javascript 对象创建,操作
- 网页 js
- 【JS进阶3】闭包和匿名函数
- js获取页面及个元素高度、宽度
- 鼠标划过表格行变色效果JS
- js捕获键盘事件之keydown、keyup以及keypress
- JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度