时间:2021-05-25
关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。
1. 动态语言
又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。
而其实我们平时说的“动态语言”应该指的是“动态类型语言”。至少我之前一直是这么认为的。
2. 动态类型语言
在运行时,确定类型的语言。
即编译时与类型无关。一般在变量使用之前不需要声明变量类型,而变量的类型通常是由被赋的值的类型决定。 如php、Python和Ruby。
3. 静态烈性语言
与动态类型语言正好相反,在编译时,便需要确定类型的语言。即写程序时需要明确声明变量类型。如C/C++、Java、C#等。
对于动态语言与静态语言的区分,套用一句流行的话就是:Static typing when possible, dynamic typing when needed。
4. 强类型语言
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
强类型定义语言是类型安全的语言。
5. 弱类型定义语言
数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
另外,由上边看出“这门语言是不是动态类型语言”与“这门语言是否类型安全”之间是完全没有联系的!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在理解var和dynamic关键字之前,让我们先了解一下编程语言的类别。C#中有两类编程语言:静态类型语言类别动态语言类别静态类型语言静态类型语言也被称为强类型
python是一门动态解释型的强类型定义语言(先编译后解释)动态类型语言动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,
dynamic关键字和动态语言运行时(DLR)是.Net4.0中新增的功能。什么是"动态"? 编程语言有时可以划分为静态类型化语言和动态类型化语言。C#和Ja
数据类型js和python都是动态语言,a=1;a='abc',a这个变量是动态的,类型是随时可以被更改的。而在java中就是静态语言变量,inta=1;a='
首先,由于JavaScript是弱类型语言(弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型而强类型则没这样的规定,不同类型间的操作有严格定义