html5中文学习网

您的位置: 首页 > 网络编程 > 网页编辑器 » 正文

动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍_其它综合_脚本之家

[ ] 已经帮助:人解决问题

关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。6dKHTML5中文学习网 - HTML5先行者学习网

1. 动态语言6dKHTML5中文学习网 - HTML5先行者学习网

又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。6dKHTML5中文学习网 - HTML5先行者学习网

而其实我们平时说的“动态语言”应该指的是“动态类型语言”。至少我之前一直是这么认为的。6dKHTML5中文学习网 - HTML5先行者学习网

2. 动态类型语言6dKHTML5中文学习网 - HTML5先行者学习网

在运行时,确定类型的语言。6dKHTML5中文学习网 - HTML5先行者学习网
即编译时与类型无关。一般在变量使用之前不需要声明变量类型,而变量的类型通常是由被赋的值的类型决定。 如php、Python和Ruby。6dKHTML5中文学习网 - HTML5先行者学习网

3. 静态烈性语言6dKHTML5中文学习网 - HTML5先行者学习网

与动态类型语言正好相反,在编译时,便需要确定类型的语言。即写程序时需要明确声明变量类型。如C/C++、Java、C#等。6dKHTML5中文学习网 - HTML5先行者学习网

对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed。6dKHTML5中文学习网 - HTML5先行者学习网

4. 强类型语言6dKHTML5中文学习网 - HTML5先行者学习网

强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。6dKHTML5中文学习网 - HTML5先行者学习网
强类型定义语言是类型安全的语言。6dKHTML5中文学习网 - HTML5先行者学习网

5. 弱类型定义语言6dKHTML5中文学习网 - HTML5先行者学习网

数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。6dKHTML5中文学习网 - HTML5先行者学习网
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。6dKHTML5中文学习网 - HTML5先行者学习网
另外,由上边看出“这门语言是不是动态类型语言”与“这门语言是否类型安全”之间是完全没有联系的!6dKHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助