我想测试一个给定的是否object
可以转换为给定的Type
.
在这种情况下,我有一个对象,并Type
表示我想将其强制转换为:
public function FooBar(..., object data, Type expected) {
...
var unboxedData = ?
if (unboxedData == null) {
....
}
...
}
Run Code Online (Sandbox Code Playgroud)
我data
该如何转换为类型type
代表?
基本上,我想这样做:
var unboxedData = data as Type;
Run Code Online (Sandbox Code Playgroud)
...但当然,你不能使用Type
与as
语句,所以我该怎么办?
在IE 9中,如果我在控制台中输入:
[1, 4, 2, 3].sort(function (a, b) { return a < b; });
Run Code Online (Sandbox Code Playgroud)
结果数组是:[1, 4, 2, 3]
.
如果我在FF/Chrome中执行此操作,我会得到它,反向排序:[4, 3, 2, 1]
.
为什么这在IE中不起作用?
编辑:是否有一个功能抽象这些浏览器的差异?换句话说,是否有一个函数我可以传递函数(a,b){return a <b; 在所有浏览器中获得相同的结果?任何开源的东西?