首页 > 网站 > WEB开发 > 正文

javascript学习——对象(2)

2024-04-27 15:05:06
字体:
来源:转载
供稿:网友

前面学习到js使用对象的内容。二对象的创建主要有下面3个方法的内容:

(1)使用new关键字调用构造器创建对象(不做过多解释)

(2)使用Object直接创建对象

(3)使用JSON语法创建对象

一、使用new关键字调用构造器创建对象

var p1=new Person();//定义一个不传递任何参数的类

二、使用Object直接创建对象

//创建一个不包含任何属性和方法的类var myObj=new Object();由于js是动态语言(java,c #则为静态语言,对象一旦创建,该对象所属的类的属性和方法将不能改变。),js可以通过动态增加属性和方法
//创建一个空的对象var myObj=new Object();//增加name属性myObj.name="xfcy";//创建方法方式1:myObj.info=function abc(){   ……}//创建方法方式2:(匿名)myObj.info=function abc(){   ……}//创建方法方式3:newmyObj.info=new function(……);//创建方法方式4:(注意)//创建一个函数function abc(){    ……}//将已有的函数添加到对象的方法中myObj.info=abc;注意:在方式4中,将已有的函数添加为对象方法时,不能再函数名后添加括号,即myObj.info=abc();是错误的,一旦添加了括号,将表示添加函数,不再是将含税本身赋给对象的方法,而是将函数的返回值赋给对象的属性。

三、使用JSON语法创建对象

json语言可以更简单的创建对象,避免了书写函数和使用new关键字。var 对象名={key,value};例如:(1)json创建基本属性
var p={        name:"xfcy",        gender:"male"};属性和值之间使用(:)属性之间使用(,)间隔。(2)json创建多种属性
person={     name:"xfcy",     gender:"male",     //指用json对象为其制定一个属性     son:{          name:"sa",          grade:1     },      //使用json语法为person直接分配一个方法     info:function(){           document.writeln("姓名:"+this.name+"性别:"+this.gender);     }};(3)使用json创建数组 ①传统创建数组的方法:
 //方式1:创建对象时直接赋值    var a=new Array("xfcy","nono");    //方式2:创建数组后再赋值    var a=new Array();    //为数组元素赋值    a[0]="xfcy";    a[1]="zs";②使用json创建数组方法:arr=[value1    ,       value2      ,    ……  ]例如:
<script type="text/Javascript">    /定义一个对象    var person={        //定义一个间单属性        name:"xfcy",        //定义第二个简答属性        age:29,        //定义第三个属性:数组        school:["小学","中学","大学"],        //定义第四个属性:对象数组        parents:[            {                name:'father',                age:60,                address:"广州"            },            {                name:"mother",                age:58,                address:"北京"            }        ]    };    alert(person.parents);</script>在实际应用中json使用较多,特别在和xml相比较下它的使用性也较高,特别是在跨平台、跨语言地进行数据交换时,有时候宁愿选择json而不愿选择xml。比如:
person={   name:"xfcy",   gender:"male",   age:29}转换为xml为
<person>       <name>xfcy</name>       <gender>male</gender>       <age>29</age></person>注:以上的总结仅是个人的学习。如果有错误,请告知!
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表