Javascript系列教程:面向对象讲解(二)
- 发表于
- jQuery
对象的声明
js对象的声明语法:
var obj=new Object();// 注意这里的是大写O
这样就声明了一个空的对象,该语法可简写为
var obj={};
还记得数组对象Array的声明方式吗?var arr=new Array();它可以简写为vararr=[];注意一个是{},一个是[]。
·object与array之间的联系
<script type="text/javascript">
//array
var arr=["wang","hong","jia"];
for(var i=0;i<arr.length;i++)
{
alert(arr[i]);
}
//object
var obj={FirstName:"Wang",LastName:"Hongjian"};
alert("obj.FirstNam:" + obj.FirstName);
alert("obj.LastName:" + obj.LastName);
</script>
严格讲它们之间联系主要是数据结构组成方式相同,数组可以理解为下标为0,1,2,3……这种固定隐式的方式来标示,即Key:Name中索引 Key从0递增;而对象则是一个Key:Name,其中Key由用户定义,也即:
var arr=[Name1,Name2,Name3,...];
var obj=[Key1:Name1,Key2:Name2,Key3:Name3,...];
前文讲到可以也var obj={};来简写实例化对象,那么具有相同的属性可以以var arr=[];的方式来简写数组。
我一直提到js中的的实例化对象,以.net的对象为例,个人理解是js的封装对象的同时实例化对象,也就是“即时使用”吧(个人词语)。
如在.net 中
public class Person()
{
private int _age=23;
private string _name="Wang Hongjian";
}
js 版本:
var Person={age:23,name:"Wang Hongjian"};
对象的方法
var Me={Name:"Wang Hongjian",Action:function(){alert("I’mcommbating");}}
Me.Action();
这样可以加深方法也是对象的印象。 :D
对象属性和方法的访问
var Person={Age:23,Name:"Wang Hongjian",Action:function(){alert("I’mcommbating");}}
以此为例访问name属性可以有以下方式
Person.name
Person["name"]
访问Action方法
Person.Action;
Person["Action"]
执行对象的方法:Person.Action();
修改对象的属性和方法
Person.name="Hongjian";
Person.Action=function(){
alert("I can be strong");
};
删除对象的属性和方法
delete Person.name;
alert(Person.name);//返回undefined
原文连接
的情况下转载,若非则不得使用我方内容。