AS3中is和as操作符的區別

2022-07-30 20:39:10 字數 1236 閱讀 4005

(1)is操作符

在as3.0新增加的is運算子,主要功能是判斷乙個變數或者等式是不是等於給定的資料型別,在以前的版本中,有instanceof來實現相同的功能。

但是is 運算子可以幫助我們確定資料型別,還可以判斷類的繼承關係,包括對於介面的繼承執行。

可以看如下例項:

var mysprite:sprite = new sprite();

trace(mysprite is sprite); //output:true

trace(mysprite is displayobject); //output:true

trace(mysprite is ieventdispatcher); //output:true

如果將is用instanceof來代替的,那麼執**況將如下:

trace(mysprite instanceof sprite); //output:true

trace(mysprite instanceof displayobject); //output:true

trace(mysprite instanceof ieventdispatcher); //output:false

主要的區別在於對於介面的判斷,在as3.0中, sprite繼承自eventdispatcher類,而該類正好執行了ieventdispatcher介面。

(2)as運算子

as3.0中新增加的運算子,也是用來判斷乙個給定的表示式是否符合所給定的資料型別,與is類似,但是不同之處在於返回值。as返回用表示式的結果代替了is返回的true,用null代替了is返回的false.

例如:

trace(mysprite as sprite); //output: [object sprite]

trace(mysprite as displayobject); //output: [object sprite]

trace(mysprite as ieventdispatcher); //output: [object sprite]

trace(mysprite as number); //output: null

在as3中,已經不贊成使用instanceof操作符用is取而代之了。

注意:as上的全域性轉換方法class(object)的優先順序依舊高於type(object)轉換方法。這些方法包括string(),number(),和array()等。

ruby中的 操作符和 操作符

url str foo foo str bar foobar str foo foo str.object id 606274188 str bar foobar str.object id 606283808 str foobar foobarfoobar str.object id 606283...

C 中雙冒號 操作符和點號 操作符的區別

首先介紹一下c 中的結構。對於乙個結構來說,如果有個變數mystruct s,那麼使用其中的成員元素時可以用 s.member a 1 如果採用指標方法訪問,比如mystruct ps,那麼同樣的訪問必須用箭頭號 ps member a 1 只用在類成員函式和類成員變數中。比如,宣告乙個類 clas...

MySQL的and操作符和or操作符

有時對where的要篩選的列不止乙個時,那麼就用到了and操作符和or操作符,and操作符顧名思義的意思是 並且 而or操作符的意思是 或者 比如以部門員工表為例 查詢部門編號為d001並且入職日期為 1985 02 02的員工編號,那麼就要用到and操作符 那如果是查詢部門編號為d001或者入職日...