浏览 2095 次
锁定老帖子 主题:说说JS
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-11
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里面代码就是代码程序就是编译后的代码! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-12
是的,难得对JS深入的分析,令人信服....不禁赞同不已
|
|
返回顶楼 | |