flex 等于和全等

package {  
    import flash.display.Sprite;  
    public class equals extends Sprite{  
        public function equals(){  
  
            // ==   
            // 值类型   
            var a:int=100;  
            var b:int=100;  
              
            trace(a==b); //true 两边的值相等   
            trace(a==b+1); //false 两边的值不相等   
              
            //引用类型   
            var arr:Array=[1,2,3];  
            var arr2:Array=[1,2,3];  
              
            trace(arr==arr2);  
            //false 虽然2个对象的内容完全一样 但他们指向不同的引用   
              
            var ar:Array=[1,2,3];  
            var ar2:Array=arr;  
              
            trace(ar==ar2);//true 引用相等   
              
            //Object也是引用类型   
            //var obj:Object={name:"tigerz"};   
            //var obj2:Object={name:"tigerz"};   
              
            //trace(obj==obj2);    
              
            //var o:Object={name:"tigerz"};   
            //var o2:Object=o;   
              
            //trace(o==o2);   
              
            trace("--------------------------------");  
              
            //===   
            var arr:Array=["123"];  
              
            var i:int=123;  
              
            trace(arr[0]===i); //false 两边值类型不同   
            trace(arr[0]==i); //true 自动进行类型转换后值相等    
            //先将i的值转换为String类型 再进行比较   
                  
            var str:String = "5";   
            var num:int = 5;   
            //trace(str ==num); // err    
            //错误的类型比较 类型不兼容无法自动转换   
            //trace(str=== num); // err    
              
            //正确的写法   
            var str:String = "5";   
            var num:int = 5;   
            //必须使用强制转换   
            trace(int(str)==num);   
            trace(int(str)=== num);   
  
        }  
    }  
}  

等于运算符(==) 用来比较等式两边的值是否相等

当等于运算符比较值类型时 仅仅检测两边的值是否相等 如果两边值类型不同自动执行类型转换

当等于运算符比较引用类型(Array Date Object 等等)时检测两边的对象是否指向同一引用

全等运算符(===)

全等运算符(===)和等于运算符(==)的不同在于

全等运算符不执行类型转换 而等于运算符自动执行类型转换

如果使用全等运算符对不同类型的变量进行比较 结果都是fasle

原文地址:https://www.cnblogs.com/tiandi/p/2917483.html