JavaScript 一种直译式脚本语言, 是一种动态类型, 弱类型, 基于原型的语言, 内置支持类型. 它的解释器被称为 JavaScript 引擎, 为浏览器的一部分, 广泛用于客户端的脚本语言, 最早是在 html(标准通用标记语言下的一个应用) 网页上使用, 用来给 HTML 网页增加动态功能.
静态语言 (强类型语言)
静态语言是在编译时变量的数据类型即可确定的语言, 多数静态类型语言要求在使用变量之前必须声明数据类型.
例如: C++,Java,Delphi,C# 等.
动态语言 (弱类型语言)
动态语言是在运行时确定数据类型的语言. 变量使用之前不需要类型声明, 通常变量的类型是被赋值的那个值的类型.
例如: PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell 等等.
强类型定义语言
强制数据类型定义的语言. 也就是说, 一旦一个变量被指定了某个数据类型, 如果不经过强制转换, 那么它就永远是这个数据类型了. 举个例子: 如果你定义了一个整型变量 a, 那么程序根本不可能将 a 当作字符串类型处理. 强类型定义语言是类型安全的语言.
弱类型定义语言
数据类型可以被忽略的语言. 它与强类型定义语言相反, 一个变量可以赋不同数据类型的值. 强类型定义语言在速度上可能略逊色于弱类型定义语言, 但是强类型定义语言带来的严谨性能够有效的避免许多错误.
两者区别
特性
强类型语言是一旦变量的类型被确定, 就不能转化的语言.
弱类型语言则反之, 一个变量的类型是由其应用上下文确定的.
静态语言的优势
由于类型的强制声明, 使得 IDE 有很强的代码感知能力, 故, 在实现复杂的业务逻辑, 开发大型商业系统, 以及那些生命周期很长的应用中, 依托 IDE 对系统的开发很有保障; 由于静态语言相对比较封闭, 使得第三方开发包对代码的侵害性可以降到最低;
动态语言的优势
思维不受束缚, 可以任意发挥, 把更多的精力放在产品本身上; 集中思考业务逻辑实现, 思考过程即实现过程;
来源: http://www.css88.com/qa/javascript/11623.html