- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安网站维护基地 来源:黑客防线网安网站维护基地 浏览次数:0 |
function class1(){ //类成员的定义及构造函数 } |
new Date(); |
function class1(){ //类成员的定义及构造函数 } var obj1=new class1(); |
//定义一个hello函数 function hello(){ alert("hello"); } //通过new一个函数获得一个对象 var obj=new hello(); alert(typeof(obj)); |
从运行结果看,执行了hello函数,同时obj也获得了一个对象的引用。当new一个函数时,这个函数就是所代表类的构造函数,其中的代码被看作为了初始化一个对象。用于表示类的函数也称为构造器。
使用方括号([ ])引用对象的属性和方法
在JavaScript中,每个对象可以看作是多个属性(方法)的集合,引用一个属性(方法)很简单,如:
对象名.属性(方法)名
还可以用方括号的形式来引用:
对象名["属性(方法)名"]
注意,这里的方法名和属性名是一个字符串,不是原先点(? )号后面的标识符,例如:
var arr=new Array(); //为数组添加一个元素 arr["push"]("abc"); //获得数组的长度 var len=arr["length"]; //输出数组的长度 alert(len); |
图1 |
var arr=new Array(); //为数组添加一个元素 arr.push("abc"); //获得数组的长度 var len=arr.length; //输出数组的长度 alert(len); |
<script language="JavaScript" type="text/javascript"> <!-- //定义了一个User类,包括两个成员age和sex,并指定了初始值。 function User(){ this.age=21; this.sex="male"; } //创建user对象 var user=new User(); //根据下拉列表框显示用户的信息 function show(slt){ if(slt.selectedIndex!=0){ alert(user[slt.value]); } } //--> </script> <!--下拉列表框用于选择用户信息--> <select onchange="show(this)"> <option>请选择需要查看的信息:</option> <option value="age">年龄</option> <option value="sex">性别</option> </select> |
function show(slt){ if(slt.selectedIndex!=0){ if(slt.value=="age")alert(user.age); if(slt.value=="sex")alert(user.sex); } } |
alert(user[slt.value]); |
alert(eval("user."+slt.value)); |
document.forms["theForm"]; |
document.forms.theForm; |
动态添加、修改、删除对象的属性和方法
前面介绍了如何引用一个对象的属性和方法,现在介绍如何为一个对象添加、修改或者删除属性和方法。
其他语言中,对象一旦生成,就不可更改,要为一个对象添加、修改成员必须要在对应的类中修改,并重新实例化,程序也必须重新编译。JavaScript提供了灵活的机制来修改对象的行为,可以动态添加、修改、删除属性和方法。例如:先用类Object来创建一个空对象user:
var user=new Object(); |
user.name="jack"; user.age=21; user.sex="male"; |
alert(user.name); alert(user.age); alert(user.sex); |
user.alert=function(){ alert("my name is:"+this.name); } |
user.alert(); |
图2 |
user.name="tom"; user.alert=function(){ alert("hello,"+this.name); } |
user.name=undefined; user.alert=undefined; |
user["name"]="tom"; |
user["my name"]="tom"; |
alert(user["my name"]); |
alert(user.my name); |
{ property1:statement, property2:statement2, …, propertyN:statmentN } |
<script language="JavaScript" type="text/javascript"> <!-- var obj={}; //定义了一个空对象 var user={ name:"jack", //定义了name属性,初始化为jack favoriteColor:["red","green","black","white"],//定义了颜色喜好数组 hello:function(){ //定义了方法hello alert("hello,"+this.name); }, sex:"male" //定义了性别属性sex,初始化为male } //调用user对象的方法hello user.hello(); //--> </script> |
var obj=new Object(); |
var obj={"001":"abc"} |
obj["001"]; |
//定义了一个空类 function class1(){ //empty } //对类的prototype对象进行修改,增加方法method class1.prototype.method=function(){ alert("it's a test method"); } //创建类class1的实例 var obj1=new class1(); //调用obj1的方法method obj1.method(); |
图3显示了执行的结果。 |
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |