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

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 />");

  document.write(house.hasOwnProperty("housevalue")+"<br />");//这是原型

  document.write(house.hasOwnProperty("price")+"<br />");//本地

  Javascript:数组

  数组是一个有序的集合,每个元素在数组中都有一个数字化的位置,可以使用小标访问,由于javascript是一种非数据类型的语言,所以里面可以包涵不同类型。

  1、数组的创建

  

复制代码 代码如下:

  var array = [] //不包涵任何元素的数组

  var person = ["Frank",22,'男 '];//带不同元素的数组

  var value = 100;

  var num = [value+12,value-23,value*2];//支持表达式

  //当然还有使用Array来创建,可以有不同类型的参数,可以是对象,数组等。

  2、数组的添加,删除,遍历。

  由于添加,遍历都比较简单,就不举例说明,但是这么还是说说删除吧!

  

复制代码 代码如下:

  function diaplayarray(arr) //执行打印任务的函数

  {

  if(!arr)return;

  for(var num =0;num<arr.length;num++)

  {

  document.write("Num is "+ arr[num]+ "\t");

  }

  document.write(" "+"<br />");

  }

  var array = [2,32,14,57,6];

  document.write(array.shift()+"<br />"); //删除数组中的第一个,返回删除的值2

  document.write(array.pop()+"<br />"); //删除数组中的最后一个,返回删除的值6

  document.write(array.join("*")+"<br />");//将数组元素用*连接返回一个字符串32*14*57

  document.write(array.push(100) +"<br />");//添加数组元素

  array.reverse();//颠倒数组元素顺序

  diaplayarray(array);//输出Num is 100 Num is 5 Num is 4 Num is 3

  array.splice(1,2,300,600);//从数组第二个开始删除(含第二个),到第三个,后面300,600是新插入的值

  diaplayarray(array);//输出Num is 100 Num is 300 Num is 600 Num is 32

  小结:同志们辛苦了..........

  关于对象和数组就介绍到这里吧,接下来我们马上就要到javascript客户端了。