javasript关于面向对象的知识点

在JavaScript中除了很多内置对象之外,还可以由用户自己创建对象,这类对象称为自定义对象。

直接创建自定义对象的语法代码如下:

var 对象名={属性名1:属性值1,属性名2:属性值2,属性名3:属性值3…}

例1:

<script language="javascript“>

 var pen={

     name:"钢笔",

     color:"红色",

     price:30}

  document.write("笔的名称为:"+pen.name+"<br>");

  document.write("笔的颜色为:"+pen.color+"<br>");

  document.write("笔的价格为:"+pen.price+"<br>");

</script>

属性的访问和方法的调用

•在对象创建后,用户可以直接使用创建的对象通过“.”运算符对属性进行访问,对方法进行调用。基本格式如下:

    对象.属性;对象.方法(参数列表);

设置对象属性的方法

•在创建对象的同时设置对象的属性。
例如:

  var pen={

           name:"钢笔",

           color:"红色",

           price:30

           }

在创建对象的构造函数时设置对象的属性。例如前面的[例2]在定义open的构造函数时就设置了对象的属性。只要程序员使用new运算符调用构造函数创建对象时,该对象就自动拥有构造函数中的所有属性

先创建空对象,再设置对象属性的实例

例3:

<script type="text/javascript">

 //创建一个空对象

  var pen =new Object();

  //设置对象的属性

  pen.name="铅笔";

  pen.color="红色";

  pen.price=20;

</script>

对象属性的特性

由于变量指向的是数据的引用,即使是将其作为参数传递给另外的方法,如果在另外的方法中改变了变量的值。原来变量的值也会随之改变。

  意思就是说 如果把某个对象的名当做参数传递给了某个方法那么对象里面原来的值也会发生改变。

例:

function people(_name,_sex,_birthday)

{

      this._name=_name;

      this._sex=_sex;

      this._birthday=_birthday;

      this._eat=function()

  {

          alert("people eat");

  }

   }

function changeValue(peo){

      var temp=peo;

      //改变传递过来的参数的属性值

      temp._name=“zhangsan";

   }

function test()

{

      //对象的创建

      var sui=new people(“张三”,“男”,“1980-05-01”);

      //属性的访问

      alert(sui._name);

      //方法的调用

      sui._eat();

      //调用changeValue方法在changeValue方法中改变对象的属性值

      changeValue(sui);

      //对象的值也发生改变

      alert(sui._name);

  }

posted @ 2013-04-17 16:47  叶凌风纱  阅读(407)  评论(0)    收藏  举报