JavaScript感想

JavaScript是一门重要的语言,它是流行的web浏览器语言,我觉得这是与浏览器结合的最流行的语言。在TIOBE语言中从2010的12名上升到2011的11名,排除Java,C,C++,C#,VB,PHP等,这些都不能比较,应用的领域不同。js也是最被轻视的语言,它不是非主流语言。它的一些语言特性会让一些不懂js的人放大其为缺点。js也确实往往令人惊异,了解它后就知道它极强的表达能力。

我对js经历了爱,很,爱的过程。因为js实在是一种很独特的语言,它有很多特点,而这些特点在一些方面为优点,在另一些方面又是缺点。爱:js简单,脚本语言,学习入门很简单轻松;恨:兼容问题,调试问题,代码难懂问题,适用窄问题;爱:以此为目标,众多浏览器开发工具,从多js库,从很多书籍越来越了解js的内在美,现在web也越来越受宠。


js特点:

1、灵活性。代码可以简单也可以复杂。可以函数式也可以对象式。其灵活性让人形容之为“玩具”。但这是js优点,小代码大作用。

2、弱类型。三种基本类型:布尔型,数值型,字符串。还有对象类型,函数类型,空类型,未定义类型。这和弱类型提供了js的灵活性。而有时js的机制有潜在的规则,在不同类型也会有此装箱和拆箱操作和自动适应转换操作。

3、函数是一等对象。函数在js的地位是举足轻重的,函数可存在变量,可当参数传入传出,函数在运行是构造。函数给js带来了极大的灵活和表达能力。其中有个重要的概念闭包:在一个受到保护的变量空间,有内嵌函数生成。js具有函数级的作用域。这意味着函数内部的变量在函数外部不能被访问。js的作用域又具有词性性质。意味着函数运行在定义的作用域中,而不是在调用的作用域中。  以上这段话我也似懂非懂,摘自《JavaScript 设计模式》。

4、易变性。js一切都是对象(除三种基本的类型外),切是易变的。这种特性做到了其他语言无法做到和不允许的技术,这在js设计模式中有大体现。

5、继承。采用基于对象的继承和模仿基于类的继承。

总之,个人认为,js不是中很强的“法律国家”,其像“社会主义”,很多规则不由一般的认识去约束,而在于人为。因此js需要个人的统筹能力和团队合作的能力。

附:昨晚看了两篇文章。由于js的灵活性,有人喜欢研究js的解析器。去转牛角尖。

1、IE最短判断

1 var ie = !-[1,];

2、桥式赋值。这段代码我现在还不是很懂。提示:变量外泄。

var a = {n:1};
var a.x = a = {n:2};
alert(a.x);
-->undifined
posted @ 2011-05-29 19:43  liyatang  阅读(504)  评论(1编辑  收藏  举报