比较运算
使用==及!=号来检查两个表达式是否相等时,AS首先将他们转换成相同的数据类型,然后判断两个值是否相等,"6"及6是相等的,因为字符串的"6"被转换成了数字的6
trace(5 == 6); // Displays: false
trace(6 == 6); // Displays: true
trace(6 == "6"); // Displays: true
trace(5 == "6"); // Displays: false
如果已经关闭了严格的数据检查,但仍要执行严格的比较,您可以使用严格的平等和不平等的运算符, ===和!==.这些运算符大比较前先检查是否值是否有相同的数据。数据类型的差异原因,使===返回直值,!===返回假值
trace(6 === 6); // Displays: true
trace(6 === "6"); // Displays: false
trace(6 !== 6); // Displays: false
trace(6 !== "6"); // Displays: true
使用is来检查变量的数据类型
var quantity:int = 5;
if (quantity is int) {
trace("Yippee. It's an integer.");
}
当表达式无法计算时,变量就是无效的数字,就NaN来表示也就(Not a number)的缩写,NaN也是一种Number
var quantity:Number = 15 - "rabbits";
trace(typeof quantity); // Displays: "number"
如何测试变量是否NaN,使用isNaN()函数
var quantity:Number = 15 - "rabbits";
if (isNaN(quantity)) {
trace("Sorry, that is not a valid number.");
}
复合对象比较时比较的是对象的引用地址是否相同