• 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

  • 相关阅读:
    php 如何提升
    PHP判断客户端是否使用代理服务器及其匿名级别
    前端基础之BMO和DOM
    前端基础之JavaScript
    前端基础之CSS标签样式
    前端基础之CSS选择器
    前端基础之HTML标签
    面向对象之反射 元类
    面向对象之多态以及魔法函数
    面向对象之封装
  • 原文地址:https://www.cnblogs.com/tiandi/p/2917483.html
Copyright © 2020-2023  润新知