`

flex中as、instanceof、is、 typeof用法

    博客分类:
  • flex
阅读更多

 

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);

实例:保留两位小数

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

 

"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);

说明:

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

 

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”:

在使用“instanceof ”的地方,IDE会提示:-3555: 已不再使用 instanceof 运算符,请改用 is 运算符。

 

分享到:
评论

相关推荐

    JS中typeof与instanceof的区别

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

    详解JavaScript中typeof与instanceof用法

    在JavaScript中,typeof和instanceof是常用的两种检测数据类型的方式,它们各自有其适用的场景和特点。 ### typeof typeof 是一个一元运算符,它用于返回变量或表达式的类型。当使用typeof运算符时,它通常会返回...

    javascript instanceof 与typeof使用说明

    = “undefined”){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。 如果我们希望获取一个对象是否是数组,或判断某个变量是否...

    浅谈javascript中的instanceof和typeof

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

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

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

    javascript instanceof,typeof的区别

    JavaScript 中 instanceof 和 typeof 的区别 在 JavaScript 中,instanceof 和 typeof 是两个常用的操作符,用于判断变量的类型和实例关系。然而,许多开发者对这两个操作符的区别和使用场景不够清楚,导致在编程中...

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

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

    JS:typeof instanceof constructor prototype区别

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

    instanceof和typeof运算符的区别详解

    在JavaScript中,`instanceof`和`typeof`是两种用于检查变量类型的运算符,它们各自具有独特的用途和特点。理解这两个运算符的区别是理解和编写高效、健壮的JavaScript代码的关键。 首先,`instanceof`运算符主要...

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

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

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

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

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

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

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

    在JavaScript开发中,判断变量的数据类型是...它能提供更详细的类型信息,如`"[object Array]"`、`"[object Date]"`等,但这种方法比`typeof`和`instanceof`稍微复杂一些,更适合在需要获取精确类型名称的情况下使用。

    Java中instanceOf关键字的用法及特性详解.rar

    2. **设计原则**:在面向对象设计中,通常推荐使用多态而非`instanceOf`来编写代码,因为这更符合面向对象的设计原则,如开闭原则(对扩展开放,对修改关闭)。 总结来说,`instanceOf`在Java中是一个有用的工具,...

Global site tag (gtag.js) - Google Analytics