2007-12-11

说说JS

关键字: 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里面代码就是代码程序就是编译后的代码!
评论
sp42 2007-12-12   回复
是的,难得对JS深入的分析,令人信服....不禁赞同不已
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

xxpniu
搜索本博客
博客分类
最近加入圈子
存档
最新评论