`
xxpniu
  • 浏览: 16337 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

说说JS

阅读更多
JS 算最灵活的语言吧` 虽然走着JAVA的代码风格?但是实属两种语言.
JS 编译器管理着不同于JAVA的数据结构,所有的都是对象。JAVA的代码是一切为了对象而写代码,JS的是一切都是对象。
在JAVA里面必须为每一个对象写个摸版,编译器对摸版进行特殊处理形成了JAVA B CODE,简单一看两个原理其实是一样的?怎么说? JAVA 也是需要解析后才能用,js也是解析后才能用.只是两种语言,Java是从B Code 开始解析,而JS是针对源代码执行解析. 思想一样,在B/S中服务器的资源是有限的,而CLIENT资源是无限的,把JAVA写成需要经过编译后的语言有好处B CODE 给JAVA性能留了非常大的提升空间,而JAVA语言则实现了最好的面向对象的语言规范。

Js不用考虑资源问题,即使是C的1000分之一在CLIENT上也是看不出任何速度快慢的,所以JS这个语言存在了许多的灵活使用.
从数据上理解来说:
Js 的代码是架设在对象之上的,代码是一个特殊的对象,既然是对象就可以任意附值.
function 是对象. 当你写函数的时候
function a(){}; 实际上是创建了个新的  Function 对象
所有的Function 对象都有prototype这个属性 然而 Function 又可以提供给new 来创建新对象并且把函数作为新对象的构造方法用.在NEW创建对象的时候所有prototype对象中的属性都会在新的对象中存在。所以new 在js中提供的是一种比java更复杂的接口`
在JAVA中只是在内存中按模版创建,而jS中则是对对象的一个特殊的CLONE。在JS中{}就是创建对象,等同于一 new Object();两者在JS解析器里面是影射相同的操作,[]就是new Array();两者也一样。
所以千万不要把js中的function等同于c中的函数调用,c中的函数名称存的是函数的接入地址,而js中的函数名称是存的一个Function对象的句柄。两者实现功能一样,原理却相差很大。

所以在js里面代码就是程序,程序就是代码` 而在C,C++,JAva里面代码就是代码程序就是编译后的代码!
分享到:
评论
1 楼 sp42 2007-12-12  
是的,难得对JS深入的分析,令人信服....不禁赞同不已

相关推荐

Global site tag (gtag.js) - Google Analytics