原来@别人要消耗那个什么金钱,-_-!,那我不@了。
首先,javascript是不是面向对象,这个要看语境,我观楼主的意思,那肯定就是说主流java、c#之流的面向对象,我打赌楼主自己应该也是这意思,所以我是在传统面向对象的环境下说“并不是一个完全的面向对象的语言”,以及提到了一些普通意义上的面向对象的相关东西。
两位大神一下就看到了“JS不是面向对象”,好吧,我承认我等是野生程序员,看书自学的,比不得二位一代宗师,已达到了“手中无剑,心中有剑”的至高境界,一切皆对象。这个可以有,我也说了可以某些方法实现。不巧二位传奇驾临我们这小位面,我等讨论的境界低了,惭愧、惭愧!
至于JavaScript是不是面向对象,这得看怎么说,细一点讲,Javascript语言实际上是两种语言风格的混合产物----(简化的)函数式编程+(简化的)面向对象编程。
这是由Brendan Eich的设计思路决定的:
(1)借鉴C语言的基本语法;
(2)借鉴Java语言的数据类型和内存管理;
(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
(4)借鉴Self语言,使用基于原型(prototype)的继承机制。
作为第一个主流的lambda语言,相对Java来说,其与Lisp和Scheme有更多的共同点(JavaScript: The Good Parts里有解释,没看过的建议去翻翻)。
他只有简单的面向对象。
当然,Brendan Eich作为设计者,他一点也不喜欢自己的这个作品:
"与其说我爱Javascript,不如说我恨它。它是C语言和Self语言一夜情的产物。十八世纪英国文学家约翰逊博士说得好:'它的优秀之处并非原创,它的原创之处并不优秀。'(the part that is good is not original, and the part that is original is not good.)"
哦,对了至于面向对象的至高境界,建议移驾云风的一篇文章
http://blog.codingnow.com/2010/03/object_oriented_programming_in_c.html去观看,不是不可以,玩玩嘛,蛮好的,但是我觉得什么语言你干什么事,按着语言设计思路来保险点。