来看两种比较:
第一段
<script>
var num1=1;
var num2="2";
var num3=num1+num2;
console.log(num3);//12
console.log(typeof num3);//string
</script>
第二段
<script>
var num1=1;
var num2=2;
var num3=num1+num2;
console.log(num3)//3
console.log(type num3)//number
</script>
结论:
变量num2的数据类型是string,string这种类型在内存中是位于堆中;
但是变量num1的数据类型是number,number这种数据在内存中是位于常量池内的;
所以就数据所占内存值而言string大于number;所以console出来的一般都是大内存的常量。