上次有人问我,问我JS里面类有几种声明方式?还问我JS的类的继承有几种方式,我一时间没有答上来,各位能给讲讲吗?

解决方案 »

  1.   

    说到类 js中用function来模拟类
    通常有两种写法
    var fun=function(){}
    function fun{}类的继承 常用的有三种 
    对象冒充
    call和apply
    原型继承
    另外还有个混合继承具体用法 楼主网上搜下吧 搜js继承 一大堆
      

  2.   

    问你这问题的人,估计真的是希望你能够解答他。js的类,是一个function对象,而function对象构造的场景一般有以下几个。1:var声明方式
    var clazz = function(){};2:直接声明
    function clazz(){}3:匿名方式,常用在参数传递、或者一次性的函数。
    function class(){}4:new关键字构造
    new Function()5:利用eval构造
    eval('(function(){})')
    js继承则是原型链覆盖
      

  3.   

    js基于对象,还没有完全面向对象,用现有的js模拟真实类的继承有很多缺陷,
    建议看看YUI的继承:寄生组合式继承,比较完美的继承方案,期待js早日真正面向对象