为什么说javaScript是基于对象的语言?什么叫基于对象?
3个回答
展开全部
JavaScript是否面向对象,是一个有争议的话题!
JavaScript是“基于对象”的语言,这种说法基本上是正确的,但是,另一些人坚持JavaScript是“面向对象”的,而这个看法,应该说是更加准确的。不过需要注意,“基于对象”和“面向对象”是两个不同层次的概念。
面向对象的三大特点(封装,延展,多态)缺一不可。通常“基于对象”是使用对象,但是不一定支持利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说“基于对象”不要求拥有继承的特点。而“多态”表示为父类类型的子类对象实例,没有了继承的概念也就无从谈论“多态”,现在的很多流行技术都是基于对象的(例如DOM),它们使用一些封装好的对象,调用对象的方法,设置对象的属性,但是它们无法让程序员派生新对象类型,他们只能使用现有对象的方法和属性,所以当你判断一个新技术是否是面向对象的时候,通常可以使用后两个特性加以判断,“面向对象”和“基于对象”都实现了“封装”的概念,但“面向对象”实现了“继承”和“多态”,而“基于对象”可以不实现这些。
通常情况下,面向对象的语言一定是基于对象的,而反之则不成立。
JavaScript是“基于对象”的语言,这种说法基本上是正确的,但是,另一些人坚持JavaScript是“面向对象”的,而这个看法,应该说是更加准确的。不过需要注意,“基于对象”和“面向对象”是两个不同层次的概念。
面向对象的三大特点(封装,延展,多态)缺一不可。通常“基于对象”是使用对象,但是不一定支持利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说“基于对象”不要求拥有继承的特点。而“多态”表示为父类类型的子类对象实例,没有了继承的概念也就无从谈论“多态”,现在的很多流行技术都是基于对象的(例如DOM),它们使用一些封装好的对象,调用对象的方法,设置对象的属性,但是它们无法让程序员派生新对象类型,他们只能使用现有对象的方法和属性,所以当你判断一个新技术是否是面向对象的时候,通常可以使用后两个特性加以判断,“面向对象”和“基于对象”都实现了“封装”的概念,但“面向对象”实现了“继承”和“多态”,而“基于对象”可以不实现这些。
通常情况下,面向对象的语言一定是基于对象的,而反之则不成立。
参考资料: 以上文字引用自《JavaScript王者归来》!http://tieba.baidu.com/f?kw=javascript
展开全部
面向对象是一种思维方式,就像我们老师说的,同样一个问题我开车去四川,如果你用面向对象思维想的话,就是我去新疆,然后我对车发出命令去四川就完了,根本不用管车自己是怎么运行的,如果用面向过程的方法,就得先开车门,加油,踩离合,然后路过河北,路过什么什么地最后到四川
这就是差别
这就是差别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对象就是:人、物等,
对象具有属性,例如中国人有属性:黑头发、黄皮肤等,
对象具有行为,例如人的行为有:吃饭、睡觉等。
把属性和行为封装在一个数据结构里,就形成了一个对象。
对象是由类生成的,类就像一个汽车模版,同一个模版就可以制造出很多具有相同属性的汽车(对象)。
javascript支持 window.document.XXX 这样的面向对象结构,这其实就是 对象.子对象.属性 的表示
对象的子对象的属性(人的头发的颜色,这样能理解吗?)
这些只是简单让你了解一下对象,实际的面向对象,你还是买本JAVA去看比较好。
对象具有属性,例如中国人有属性:黑头发、黄皮肤等,
对象具有行为,例如人的行为有:吃饭、睡觉等。
把属性和行为封装在一个数据结构里,就形成了一个对象。
对象是由类生成的,类就像一个汽车模版,同一个模版就可以制造出很多具有相同属性的汽车(对象)。
javascript支持 window.document.XXX 这样的面向对象结构,这其实就是 对象.子对象.属性 的表示
对象的子对象的属性(人的头发的颜色,这样能理解吗?)
这些只是简单让你了解一下对象,实际的面向对象,你还是买本JAVA去看比较好。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询