首页 > 语言 > JavaScript > 正文

JavaScript 基础篇之对象、数组使用介绍(三)

2024-05-06 14:22:12
字体:
来源:转载
供稿:网友
Javascript:对象
对象我们在前面也简单介绍过,它是一种将多个数据值集中在一个单元的东西,使用名字来存取,它是一个无序的属性集合。
1、创建对象的几种方式
代码如下:
var empty = {} //创建一个没有属性的对象。
var person = {name:"ben",age:22,sex:'男'}//使用直接量创建对象
var people = {{name:'Frank',age:21},{name:'Mary',age:21},sex:'MAN'}// 对象的元素可以是对象

2、对象属性
代码如下:
var person = {}; //创建一个对象
person.name = "Frank"; //添加属性
person.country = "china";
person.age = 22;
person.american = new Object(); //这个属性是个对象
person.american.name = "Lisa";
person.american.country = "American";
person.american.age = 20;
function displayperson(personmore) //打印上面的对象
{
for(var p in personmore) //枚举循环
{
if(typeof(personmore[p]) == "object")//判断类型
{
for(var o in personmore[p])
{
document.write("American people :" +o+"/t" +personmore[p][o]+"<br />");
}
document.write("<br />");
continue;//结束本次循环,进行下一次循环.
document.write("china people :"+ p+"/t" + personmore[p] +"<br />");
}
}
displayperson(person);//调用函数
//输出china people :name Frank
//china people :country china
//china people :age 22
//American people :name Lisa
//American people :country American
//American people :age 20

3、删除属性
使用delete运算符
代码如下:
delete person.american;//就可以自己删除对象的属性
delete 是不能删除对象的。

4、hasOwnProperty()方法和isPrototypeOf()方法
其实这两个方法,在这里说初学的朋友可能会和我当时学到这里一样,看不懂,但是没关系,可以跳过去,到时候我们学到继承的时候你在回头看看,
就明白了。
4.1:hasOwnProperty()方法,如果对象用一个单独字符串参数所指定的名字来本地定义一个非继承的属性,就返回true。否则返回false。
代码如下:
function House(price,area,developers)
{
this.price = price;
this.area = area;
this.developers = developers;
}
House.prototype.housevalue = function(){return this.price*this.area;}
function HouseSon(price,area,developers,city)
{
House.call(this,price,area,developers);
this.city = city;
}
HouseSon.prototype = new House(10000,80,"vanke");//获取House的属性
delete HouseSon.prototype.price;//删除
delete HouseSon.prototype.area;
delete HouseSon.prototype.developers;
HouseSon.prototype.container = function(){return "container" + this.price * this.area;}
for(var i in HouseSon.prototype)
{
document.write(i+"<br />");
}
var house = new HouseSon(20000,180,"vanke","shenzhen");
document.write(house.container()+"<br />");
document.write(house.housevalue()+"<br />");
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选