因为本人学的是JavaScript嘛,所以除了初中学了点VB,大学学了点C,对其他语言都一窍不通,决定把自己现在对于强弱动静语言的想象情况写一下,语法都是瞎编的……
0.动态类型语言+弱类型语言
先从我最熟悉的JavaScript说起壮壮胆吧,可以不用在定义变量时规定其变量类型(因为动态类型在程序运行时才检查其数据类型),也可以隐式转换其数据类型,如:。
var a = 3;
var b = "1";
alert(a+b); //31 a被转换为字符串
1.动态类型语言+强类型语言
可以在定义变量时不规定它的数据类型,但是如果在使用时隐式改变其数据类型在运行时会报错,必须显示改变。如:(假装有一门动态强类型语言有这种写法)
var a = 3;
var b = "1";
alert(a+b); //error 不同类型的变量不可以操作 报的是运行错误
2.静态类型语言+弱类型语言
必须在定义变量时规定其数据类型(静态类型在编译时检查数据类型),可以让变量隐式转换其数据类型
Number a = 3;
String b = "1";
alert(a+b); //31 就算规定了类型还是可以隐式转换
3.静态类型语言+强类型语言
必须在定义变量时规定其数据类型,不可以隐式转换其数据类型
Number a = 3;
String b = "1";
alert(a+b); //error 不支持隐式转换 报的是语法错误