js面向对象编程

*  一个函数就是一个类(函数和类是同一个概念,可以将此函数理解为该类的构造函数),js中的类是一些属性(方法)的集合。
    对象引用属性(方法)的方式是: 对象名.属性(方法)名; 对象名["属性(方法)名"];

  function  class1() {               <----- 定义一个类
         
this.name = "花帅";
      
this.eat = function().. }                只有被this修饰的属性和方法,才能被初始化,才能被外部对象调用。外部对象无法引用函数的私有属性和方法。
     }

可以为对象 添加,修改,删除( = undefined) 属性和方法。 修改和添加方法 user.eat = function(){ ...... }

*  用new来创建对象,如 var obj = new class1(); 会返回一个对象。
    也可以用 { } 创建对象,因为是属性(方法)的集合。属性(方法)和其定义之间用 :间隔

var  obj  =   {                    <----- 定义一个对象
        name:
"花帅",
    eat:
function()(内部该怎么写还怎么写) }
}


prototype:
当每创建一个类的实例的时候,都要执行一次构造函数,函数中的属性和方法总会被重复创建,prototype可以很好的解决。当new一个function时,该对象的成员将自动的赋给所创建对象。prototype发生在函数体(构造器)执行之前prototype的定义必须在new实例化对象之前,否则不会起作用。
原型对象,表示了该函数的原型,也就表示了这个类的所有成员的集合。
在通过new创建一个类的实例对象的时候,prototype对象的成员都成为实例化对象的成员。
  1、该对象只能被类所引用,只有函数对象才可引用;
  2、在new实例化后,其成员被实例化,实例对象方可调用。
同时,函数是一个对象,函数对象若直接声明成员,不用被实例化即可调用。
可以通过prototype来修改某个类的定义即属性和方法。例如:Object.prototype.eat = function(){ ... },任何一个对象都是Object的实例,所以可以修改Object这个类,来让所有的对象具有一些通用的属性和方法。


*  函数:
function func(){                 有名函数 -- 可以在调用之后再声明
    ......
}
var func = function(){         无名函数 -- 必须在调用之前声明
    ......
}

* 在传递给函数的参数中,有一个隐含参数arguments,通过它可以取得所有传入的参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值