Qooxdoo:如何使用qx.lang.normalize.Arrayclass?
Qooxdoo: How to use qx.lang.normalize.Array class?
我不知道如何使用 qx.lang.normalize.Array class。我对地图功能有更具体的问题。这是我的尝试
var arr1 = [1, 2, 3, 4];
// I am sure this is wrong
arr1 = qx.lang.normalize.Array.map(function(item, index, arr1){
return item * 2;
},this);
this.debug("arr1: " + arr1);
var arr2 = [1, 2, 3, 4];
// but this works
arr2 = arr2.map(function(item){
return item * 2;
},this);
this.debug("arr2: " + arr2);
http://tinyurl.com/hzervvt
在调试调用中,arr1 为空,而 arr2 按预期工作。
从documentation不清楚应该怎么称呼。
另一个问题是:我应该使用那个 class 还是现代浏览器不再需要它?
更新:经过一番搜索,我找到了this test file。我看到除了文档块中的 @require 之外没有特别提到 qx.lang.normalize.Array 。这是否意味着规范化会自动发生,并且在我上面的代码中,对 map() 的第二次调用可能来自 class?
你根本不应该直接使用 qx.lang.normalize.* - 它们是 polyfills 并且存在,所以当遇到旧的或有问题的浏览器时,Qooxdoo 会将 qx.lang.normalize.Array
中的方法添加到全局Array
.
这允许您编写真正适用于所有浏览器的代码(如 arr2.map...
),Qooxdoo 将安静地(并自动)修复任何损坏的浏览器。
我不知道如何使用 qx.lang.normalize.Array class。我对地图功能有更具体的问题。这是我的尝试
var arr1 = [1, 2, 3, 4];
// I am sure this is wrong
arr1 = qx.lang.normalize.Array.map(function(item, index, arr1){
return item * 2;
},this);
this.debug("arr1: " + arr1);
var arr2 = [1, 2, 3, 4];
// but this works
arr2 = arr2.map(function(item){
return item * 2;
},this);
this.debug("arr2: " + arr2);
http://tinyurl.com/hzervvt
在调试调用中,arr1 为空,而 arr2 按预期工作。 从documentation不清楚应该怎么称呼。
另一个问题是:我应该使用那个 class 还是现代浏览器不再需要它?
更新:经过一番搜索,我找到了this test file。我看到除了文档块中的 @require 之外没有特别提到 qx.lang.normalize.Array 。这是否意味着规范化会自动发生,并且在我上面的代码中,对 map() 的第二次调用可能来自 class?
你根本不应该直接使用 qx.lang.normalize.* - 它们是 polyfills 并且存在,所以当遇到旧的或有问题的浏览器时,Qooxdoo 会将 qx.lang.normalize.Array
中的方法添加到全局Array
.
这允许您编写真正适用于所有浏览器的代码(如 arr2.map...
),Qooxdoo 将安静地(并自动)修复任何损坏的浏览器。