javascript(腾讯)

var a={key:"1",value:2};
war b=a;
b.value+=a.key,

打印b.value是多少,a.value呢?

答案:都是21。因为javascript是弱类型语言(C和JAVA是强类型语言),所以是21,并且a和b指向同一块堆内存。

弱类型语言,是相对强类型语言来说的。

在强类型语言中,变量类型有多种,例如int char float boolean 等,不同的类型相互转换有时需要强制转换;

而javascript只有一种类型var,为变量赋值时会自动判断类型并进行转换,所以javascript是弱类型语言,就体现在变量定义类型VAR上了。

原文地址:https://www.cnblogs.com/seven7seven/p/3662859.html