为什么int类是小写但String类不是?

时间:2015-03-09 20:52:02

标签: actionscript-3

我已经通过几种语言注意到了这一点,但我会针对AS3提出我的问题。为什么int类是小写但字符串或数字不是?

var myInt:int = 0;
var myString:String = "";
var myNum:Number = 0;

2 个答案:

答案 0 :(得分:3)

这只是原始值与对象的对比。你可以做一些像String.substring()这样的东西,因为它是一个对象,但是你不能用int做任何事情,它只是一个数字。

====编辑====

根据下面的评论,AS3中的int是一个类,所以你可以调用它的一些方法。但是,它仍然是一种原始类型。这里解释了不同之处:http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/data-types.html

"原始值通常比复​​数值更快,因为ActionScript 3以特殊方式存储原始值,使内存和速度优化成为可能。

注意:对于对技术细节感兴趣的读者, ActionScript 3在内部将原始值存储为不可变对象。它们存储为不可变对象的事实意味着通过引用传递实际上是与通过值相同。这减少了内存使用量并提高了执行速度,因为引用通常明显小于值本身。"

答案 1 :(得分:0)

这很可能是因为他们遵循PDF第14页上的ECMAScript3 standard找到了NumberString和{Boolean类型的原始值的定义。 {1}}。

PDF页面26列出了未来保留的关键字,其中显示int。当然,如果他们想要支持无符号整数,则应将其称为uint


我个人认为将它们命名为IntUint(或者像Java一样)会更有意义