JavaScript 是基于对象的语言还是面向对象语言 有些人说是基于对象的语言,没有继承但有些书说它是面向对象的语言,有原型式继承 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JavaScript是基于面向对象。JS里面的继承是模拟来实现的,那个继承,你可以理解为复制父类的方法和属性。这个你自己可以试试,你先写一个类,然后用原型继承或者别的方式都可以,然后,在修改一个父类的方法,你在调用子类继承自父类的那个方法,这个时候,两个方法的执行结果是否一样。 应该是基于对象的,而java才是真正面向对象的。 js不是原生支持继承,而是通过prototype去模拟的,所以是基于对象,不是面向对象 javascript 没有"类"的概念.要放下对象和类,达到"对象本无根,类型亦无形"的境界确实是件不容易的事情啊。所以,javascript中没有"类",类已化为无形,与对象融为一体。正是由于放下了"类"这个概念,javascript的对象才有了其他编程语言没有的活力。javascript的所有function类型的对象都要有一个prototype属性。这个prototype属性本身又是一个object类型对象,因此我们可以给这个prototype对象添加任意的属性和方法。既然prototype是对象的"原型",那么由该函数构造出来的对象应该都会具有这个"原型"的特征。事实上,在构造函数prototype上定义的所有属性和方法,都是可以通过构造的对象直接访问和调用的。也可以这么说,prototype提供了一群同类对象共享属性和方法的机制。 不管是那种,js都比它先进方便,java还是C#都没有js灵活。 JavaScript是基于面向对象。JS里面的继承是模拟来实现的,那个继承,你可以理解为复制父类的方法和属性。这个你自己可以试试,你先写一个类,然后用原型继承或者别的方式都可以,然后,在修改一个父类的方法,你在调用子类继承自父类的那个方法,这个时候,两个方法的执行结果是否一样。heh 推荐一本书给你,也许对你有帮助,《JavaScript王者归来》这本书挺好的。 ECMAScript是基于对象(object-based)的编程语言,在宿主环境中执行计算或操作对象。ECMAScript没有像C++,Smalltalk,Java等语言中的真正的类,但是它支持构造器(constructors)。ECMAScript支持基于原型的继承。参见:ECMAScript深入浅出 Jquery用data方法,为什么不直接设个变量,再给变量赋值? 非传统—由右边过来联动怎么办? 怪怪的iframe的高度設置 CCS里可以调用JS么? 下拉菜单在IE7中可以显示出来,但是到了IE6中就显示不出来了? chrome下contentWindow不起作用,请大师进来看一眼 JS高手,Option的底色问题!!在线等!! 怎样才能让我的网页不提交??? 那里有表格导航菜单的源代码下载? 选择主类别时就出错 如何让<input value 里的值不丢失 yahoo ui 的问题:yui panel的关闭问题
JS里面的继承是模拟来实现的,那个继承,你可以理解为复制父类的方法和属性。
这个你自己可以试试,你先写一个类,然后用原型继承或者别的方式都可以,然后,在修改一个父类的方法,你在调用子类继承自父类的那个方法,这个时候,两个方法的执行结果是否一样。
javascript的所有function类型的对象都要有一个prototype属性。这个prototype属性本身又是一个object类型对象,因此我们可以给这个prototype对象添加任意的属性和方法。既然prototype是对象的"原型",那么由该函数构造出来的对象应该都会具有这个"原型"的特征。事实上,在构造函数prototype上定义的所有属性和方法,都是可以通过构造的对象直接访问和调用的。也可以这么说,prototype提供了一群同类对象共享属性和方法的机制。
JS里面的继承是模拟来实现的,那个继承,你可以理解为复制父类的方法和属性。
这个你自己可以试试,你先写一个类,然后用原型继承或者别的方式都可以,然后,在修改一个父类的方法,你在调用子类继承自父类的那个方法,这个时候,两个方法的执行结果是否一样。heh
ECMAScript没有像C++,Smalltalk,Java等语言中的真正的类,但是它支持构造器(constructors)。
ECMAScript支持基于原型的继承。参见:ECMAScript深入浅出