发布网友 发布时间:2022-04-22 12:51
共1个回答
热心网友 时间:2023-10-14 11:10
强类型语言(java、Java、.net 、Python、C++),当你定义一个变量是某个类型,如果不经过代码显式转换(强制转化)过,它就永远都是这个类型,如果把它当做其他类型来用,就会报错
如: int a =5;
String b ="5";
int result = a+b;
因为 a与b 是java 语言的类型定义,直接写a+b无法编译通过
弱类型语言(php、js),你想把这个变量当做什么类型来用,就当做什么类型来用,语言的解析器会自动(隐式)转换。
如: var a =5;
var b ="5";
var result = a+b;
因为 a与b 是js语言的弱类型定义,直接写a+b结果为10,因为弱类型语言在运行过程中,存在变量类型的隐式转换
因为弱类型语言在运行过程中,存在变量类型的隐式转换,多了一些需要执行的操作,并且,分配内存时,会考虑通用而多分配一些,而强类型则专门为各种类型的变量量身定做地分配内存,内存利用率显然比弱类型会高。