xxxscript只是脚本语言不存在高级不高级的问题,只有各自应该用在哪里的问题虽然名字有点类似,但不是一码事。

解决方案 »

  1.   

    ECMA262中明确指出 javascript是一门面向对象的语言 基于对象的言论不知从何而来"基于对象"一词在面向对象的术语中并没有很明确的定义或者共识,一般认为,基于对象的语言是依赖对象概念的语言,在一门基于对象的语言中所有的类型和变量都以对象的形式出现,它跟面向对象并不矛盾,而且一般基于对象的语言一定是面向对象的,如SmallTalk。但Javascript、C++等语言仍提供对象之外的值类型,所以它们不是基于对象的,但他们都是面向对象的语言。
      

  2.   

    推荐你看看周爱民的《JAVASCRIPT语言精髓与编程实践》还有月影即将出版的《JavaScript王者归来》
      

  3.   

    不一样的东西,不一样的作用。JavaScript在web开发中,起着很重要的作用。
      

  4.   

    一直很想找一个词来描述javascript对对象的支持,基于对象这个词再合适不过了不支持继承,不支持属性,不支持重载……
      

  5.   

    楼上说错了
    javascript虽然没有直接的继承,属性,重载之说,但是它的特点使他依然可以完成上述的功能特点。网上可以搜到很多可用来继承,拥有属性,支持重载的 javascript的类库。
    所以关于基于对象,还是面向对象,我感觉是仁者见仁,智者见智。
    有一点不同的是,javascript和其他脚本语言一样,并非强类型的。我个人的理解是,如果一个桌子类在别人的运用下会通过添加功能变成椅子,而依然是原来的类,就是基于对象。
      

  6.   

    也可以说javascript是面向对象的。所谓的基于对象,我想含义应该是它的面向对象和java等常用OO语言的面向对象不大一样。javascript不支持直接继承,而要通过一个原型对象来间接实现
      

  7.   

    从C++系演化出来的面向对象语言全都是class-based的面向对象,这种方式比较流行但是其实并非面向对象唯一途径。js语言原生支持的面向对象是prototype-based,这是很多语言都采用过的。而且js间接的支持meta-class和class-based面向对象(即可通过语言特性实现)。"基于对象"这个说法没有在任何标准的文档中出现过,纯粹是某些老外的错误而模糊的认识(应该是javascript权威指南吧)
    另外有几点:
    1.js的弱类型是变量的弱类型,不是没有,js的类型机制是运行时类型(JAVA/C#是运行时类型,C++是编译时类型)
    2.JS是解释执行的,重载是编译期行为,而且针对强类型语言的,对js来说这个词没有意义。
    3.JS对象的属性是运行时的,所以可以改变,这与面向对象无关
    4.js对象不是用类描述的,所以js对象不属于任何类.
    5.js继承方式很多 http://bbs.51js.com/viewthread.php?tid=72698
      

  8.   

    JavaScript在web开发领域绝对是一流的。
      

  9.   

    JavaScript和Java分别再各自的领域取得了辉煌的成就。
      

  10.   

    <<java bible>> 建议看一下这本书. 不过还没有中文版的
      

  11.   

    《javascript bible》打错了不好意思哦。
    javascript 圣经
      

  12.   

    随着ajax的火爆,javascript也日益重要起来
      

  13.   

       脚本不是开发语言,脚本本身是不能开发的,只有嵌入HTML,或者FLASH等中间才表现出其强大的威力,我没有见锅直接用javascript,vbscript或者actionscript去开发一个软件或者程序的,而JAVA,C++就都可以,学开发的人都应该知道,面向对象的语言在软件的开发等方面功能比脚本要强大的多,而脚本只是在WEB开发里面或者在特定的地方才能起到作用,它的面向对象不是彻底的面向对象
      

  14.   

    关于这个问题,首先要搞清楚的是,
    什么是类,什么是对象?我的理解是,类是可以实例化为多个互不相干的对象实例的一种描述定义;
    而对象则是已经实例化的对象,他们不能在实例化为多个互不相干的对象,如果真要变为多个互不相干的对象实例,则需要深度克隆;
    关于这个问题,我建议你购买我的书《JavaScript高级应用与实践》,有什么问题,你可以给我来信探讨
      

  15.   

    同意楼上,JS里不需要创建类,你只需要吧已经有的对象拿过来用就OK了。
    Java类当然也有不需要自己创建类的时候,不过Java实际上就是写类,然后实例化对象,最后使用类中的方法属性。
      

  16.   

    JS可以做成面向对象的,比如jQuery框架就是面向对象的,把元素包装成对象,直接实例化后调用它的方法,比如jQuery.get(url),只不过在面向对象的继承和接口等方面没有java那种所谓的高级~
      

  17.   

    看看Extjs,语言没高级低级之份,只是面向不同,js只是提供了一个操作浏览器的手段!
      

  18.   

    haha.天津人能听懂天津方言,所以Brower能听懂javascript
    广东人能听懂广东方言,所以jvm能听懂java
      

  19.   

    一路看下来还是没有一个彻底明白的解释
    都是对象语言,那问题就是 基于和面向  这两个词的区别了
    上面有人提到 JS有实例化了而其他面向对象还要实例化,这好象不对吧 JS也可以new来创建对象实例啊?
      

  20.   

    基于对象的概念是基于已经设计好的对象,具体地说就是DOM对象和一系列的属性和方法以及其他对象,自己不能够创建,即使在JS中有new Obj,这个Obj也是已存在的,并且它不具备面向对象的继承等面向对象嘛,复杂了,一切皆对象,呵呵!!
      

  21.   

    太神圣。只有学习。。不能评价。本人正在学习中。。请多指教。呵呵
    两样都学。。喜欢javascript的前台技术。不过专业是java的。。所以都比较重要。西西
    只觉得特定地方用特定东西更合适。。