使用软件:   阅读次数:   收录时间:2008-07-24

Javascript中定义对象的几种方法

作者:  来源:websbook.com整理

方法一:

var xiaoxing = 
{       
   grade:1,
   name : "xiaoxing",
   age:27,
   sex:"男",
      
   speak:function(words)
   {
      alert(this.name+"说:"+words+"!");
   },

   improve:function()
   {
       this.grade++;
   }
}

这样,我就变成了一个对象了,你可以让我跟你说一句话

xiaoxing.speak("欢迎来到cnblogs的supersun的天空");
while(i have friends)
{
   xiaoxing.improve();
}

方法二:

方法一还不够面向对象,最好的做法是用一个函数来定义对象,在用他的prototype原型对象的方式来定义其属性,事件等,方便继承扩展。 

<script language="javascript" type="text/javascript">
//创建原型对象,定义属性、方法、及对象事件等。 
Student.prototype=
{ 
    _name:null, 
    _age:null, 
    _sex:null, 
    ShowName:function()
    { 
        alert("Name:"+ this._name +"\n" + "Age:" + this._age + "\n" + "Sex:"+ this._sex); 
    } 
} 
//专门用一个函数来初始化对象。 
function Student(name,age,sex)
{ 
    this._name=name; 
    this._age=age; 
    this._sex=sex; 
} 

var student=new Student("Young",25,"男"); //实例化 
student.ShowName(); //调用对象方法
</script>

方法三:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<META NAME="Generator" CONTENT="EditPlus"> 
<META NAME="Author" CONTENT=""> 
<META NAME="Keywords" CONTENT=""> 
<META NAME="Description" CONTENT=""> 
</HEAD> 

<BODY> 
<script language="javascript" type="text/javascript">
function Student(name,age,sex) 
{ 
    this._name=name; 
    this._age=age; 
    this._sex=sex; 
    this.ShowName=function() 
    { 
        alert("Name:"+ this._name +"\n" + "Age:" + this._age + "\n" + "Sex:"+ this._sex); 
    }; 
} 

var student=new Student("Young",25,"男"); //实例化 
student.ShowName(); //调用对象方法
</script> 
</BODY> 
</HTML>

方法四:

<script type="text/javascript">
var person = new Function();//或var person = function(){}都可以 
person.prototype={ 
    grade:0, 
    age:0, 
    sex:null, 
    name:null, 
    speak:function(words) 
    { 
        alert(this.name+"说:"+words+"!"); 
    }, 
    init:function(_grade,_age,_sex,_name) 
    { 
        this.grade = _grade;this.age=_age;this.sex=_sex;this.name=_name; 
    } 
} 
var xiaoxing = new person(); 
xiaoxing.init("10","27","男","xiaoxing"); 
xiaoxing.speak("hello everybody");
</script>

这里采用init来初始化定义了一个对象,当然我们还可以在function(){}这样写

var person = function(_grade,_age,_sex,_name){this.grade = _grade;this.age=_age;this.sex=_sex;this.name=_name;}

这样我们就可以写成如下代码 

var xiaoxing = new person("10","27","男","xiaoxing"); 
xiaoxing.speak("hello everybody");

    评论加载中…
教程导航
JS/AJAX热门教程
20个Ajax+CSS制作的数据表格(推荐)
#1. Tablecloth 以下内容需要回复才能看到 Tablecloth 由 CSS Globe 开发,是一个轻量级的、易于使用的表格,以友好的方式将样式和 行为 添加到你当前的HTML 表...
作者:
JavaScript精简学习2:浏览器输出
26 访问document对象 27 动态输出HTML 28 输出换行 29 输出日期 30 指定日期的时区 31 设置日期输出格式 32 读取URL参数 33 打开一个新的document对象 34 页...
作者:/
用javascript判断浏览器版本的代码
当你制作网站可能会碰到浏览器的兼容问题,一般来说可以使用CSS解决,但有时候可能需要使用javascript判断浏览器的版本,从而显示对应的内容,这里就介绍简单的JS代...
作者:
页面不刷新,提交表单
表单提交的时候,提交到ifrmae页面中,本页面不刷新,然后在iframe页面中接收(象平常发送到第二页面一样接收),就可以了 %@LANGUAGE=VBSCRIPT CODEPAGE=936% htm...
作者:/
javascript常用验证函数(正则表达
//校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } //校验登录名:只能输入5-20个以...
作者: