`
it_liuyong
  • 浏览: 100554 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

flex中as、instanceof、is、 typeof用法2011年12月05日 星期一 12:07 P.M.博

    博客分类:
  • flex
 
阅读更多
flex中as、instanceof、is、 typeof用法2011年12月05日 星期一 12:07 P.M.博客分类:
flex
FlexIDE

“as” 我主要用它做类型转化



假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写:

Class2(c1);

AS3 中的操作符: as 实现就是这样:

c1 as Class2;

据说使用 as 操作符有几个好处:

1.它的效果和第一种方法是一样的。
2.如果类型不兼容无法转换,就会返回null,而不是出错。这样你就可以自定义错误的时候该做什么。
3.没有运行时错误(Run Time Error)提示。

不过有些时候在使用 as 的时候并不能达到强制转换的目的,而使用第一种方法则可以。为什么 as 操作符有时候会不好用呢?原来在AS3.0类库中最高层类(Top Level classes,所有Top Level classes的列表)之间进行强制转换时, as 操作符是不起作用的。比如,假如你想要将一个String 类型的字符串 str 转换成 Number 类型的数字 num 时,可能想要这样写:

num = str as Number;

这样写是没有用的,你只能通过第一种方法来达到强制转换的目的:

num = Number(str);

实例:保留两位小数

Actionscript代码 
private var a:Number=3.1234;   
a=a.toFixed(2) as Number;   
trace(a);   
输出:0  
  
private var a:Number=3.1234;       
a=Number(a.toFixed(2));       
trace(a);   
输出:3.12 

private var a:Number=3.1234;a=a.toFixed(2) as Number;trace(a);输出:0private var a:Number=3.1234;    a=Number(a.toFixed(2));    trace(a);输出:3.12


"typeof":

用法:

alert(typeof (5));  //number

alert(typeof (true));  //boolean 

alert(typeof ("abc"));  //string

说明:

typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."



"instanceof ":

用法:

trace(obj instanceof Panel);

说明:

如果 object 是 class 的一个实例,则 instanceof 运算符返回 true 。如果 object 不是指定类的一个实例,或者 object 是 null ,则返回 false 。



Actionscript代码 
trace(objTest(new Date));   
  
private function objTest(obj:Object):String {   
                var i:Object;   
                var s:String = ""; // 创建变量。   
                var t:Array = new Array(); // 创建一个数组。   
                t["Date"] = Date; // 充填数组。   
                t["Object"] = Object;   
                t["Array"] = Array;   
                for (i in t) {   
                    if (obj instanceof t[i]) // 检查 obj 的类。   
                    {   
                        s += "obj is an instance of " + i + "\n";   
                    } else {   
                        s += "obj is not an instance of " + i + "\n";   
                    }   
                }   
                return (s); // 返回字符串。   
            }    
            /* obj is an instance of Object   
            obj is an instance of Date   
            obj is not an instance of Array */ 

trace(objTest(new Date));private function objTest(obj:Object):String { var i:Object; var s:String = ""; // 创建变量。 var t:Array = new Array(); // 创建一个数组。 t["Date"] = Date; // 充填数组。 t["Object"] = Object; t["Array"] = Array; for (i in t) { if (obj instanceof t[i]) // 检查 obj 的类。 { s += "obj is an instance of " + i + "\n"; } else { s += "obj is not an instance of " + i + "\n"; } } return (s); // 返回字符串。 } /* obj is an instance of Object obj is an instance of Date obj is not an instance of Array */




“is”:


分享到:
评论

相关推荐

    JS中typeof与instanceof的区别

    JS 中 typeof 与 instanceof 的区别 在 JavaScript 中,typeof 和 instanceof 是两个常用的运算符,用来判断一个变量是否为空,或者是什么类型的。但是,这两个运算符之间还是有区别的。 typeof 运算符是一个一元...

    详解JavaScript中typeof与instanceof用法

    JavaScript中,数据类型的检测是编程中一个非常重要的环节,它有助于我们更准确地进行变量处理和逻辑判断。在JavaScript中,typeof和instanceof是常用的两种检测数据类型的方式,它们各自有其适用的场景和特点。 ##...

    JS:typeof instanceof constructor prototype区别

    本文将深入探讨四种常用的方法来识别和判断JavaScript中的数据类型:`typeof`、`instanceof`、`constructor`以及`prototype`。 ### 1. `typeof` `typeof`操作符是最常见的类型检测方式之一,它返回一个表示未经计算...

    JS中typeof与instanceof之间的区别总结.docx

    在JavaScript中,`typeof`和`instanceof`是两种常用的类型检查操作符,它们各自有着不同的用法和特点。理解这两者之间的差异对于编写健壮的JavaScript代码至关重要。 `typeof`操作符主要用于检测变量的数据类型。它...

    JS中typeof与instanceof之间的区别总结

    在JavaScript中,`typeof`和`instanceof`是两种常用的类型检查操作符,它们各自有其独特的用法和局限性。 `typeof`操作符是一个一元运算符,它用于确定变量或表达式的类型,并返回一个表示该类型的字符串。`typeof`...

    前端大厂最新面试题-typeof_instanceof.docx

    在前端开发中, typeof 和 instanceof 是两种常用的判断数据类型的方法,下面我们将详细介绍这两种方法的使用方法、区别和实现原理。 一、typeof 操作符 typeof 操作符返回一个字符串,表示未经计算的操作数的类型...

    javascript instanceof 与typeof使用说明

    在JavaScript编程中,typeof和instanceof是两种常用的运算符,它们都可以用来判断变量的数据类型或类的实例。为了深入理解这两个运算符的使用方法和区别,我们需要详细探讨它们各自的特性和适用场景。 首先,typeof...

    关于js typeof 与 instanceof 判断数据类型区别及开发使用.docx

    `Object.prototype.toString.call()`方法也可以作为一种补充,它能提供更详细的类型信息,如`"[object Array]"`、`"[object Date]"`等,但这种方法比`typeof`和`instanceof`稍微复杂一些,更适合在需要获取精确类型...

    instanceof 判断引用类型,typeof判断基本类型。

    在JavaScript编程语言中,`instanceof` 和 `typeof` 是两个非常重要的操作符,用于判断变量的类型。它们各自有着不同的用途和用法,对于理解和调试代码至关重要。 首先,我们来详细了解一下`instanceof`操作符。`...

    javascript instanceof,typeof的区别

    在JavaScript中,`typeof` 和 `instanceof` 都是用来检查变量类型的,但它们之间有着本质的区别。 `typeof` 是一个操作符,它返回一个表示变量类型的字符串。它主要用于基本数据类型的判断,例如: - number - ...

    15.instanceof运算符.zip

    15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof...

    hls.min.js

    (t instanceof e))throw new TypeError("Cannot call a class as a function")}var a=function(){function t(){i(this,t)}return t.isHeader=function(t,e){return e+10<=t.length&&73;===t[e]&&68;===t[e+1]&&51;==...

    hibernate错误解决方案

    2. **使用抽象实体类**:可以考虑使用一个抽象基类来定义通用的方法,如下面的示例: ```java public abstract class AbstractEntity implements Entity, BaseDTO { abstract public long getID(); abstract ...

    浅谈javascript中的instanceof和typeof

    对于instanceof和typeof,以前偶尔的用到过,特别是typeof用到的相对更多一些,今日研究ext源码,很多地方都用到了instanceof,突然觉得他们两个有些相似但也应该有他们区别,网上看了一些文章,对它们之间的关系有...

    JavaScript中instanceof与typeof运算符的用法及区别详细解析

    JavaScript中的instanceof和typeof常被用来判断一个变量是什么类型的(实例),但它们的使用还是有区别的: typeof 运算符返回一个用来表示表达式的数据类型的字符串。 typeof expression ; expression 参数是需要查找...

    instanceof关键字.md

    在Java编程语言中,`instanceof`是一个十分重要的关键字,用于判断一个对象是否属于特定的类或接口。本文将详细解释`instanceof`的关键特性和使用场景,并通过示例代码加深理解。 #### 一、基本概念 `instanceof`...

Global site tag (gtag.js) - Google Analytics