|
|
<html><body><script>
| var b = new Array(1,2,3);
| var d = new Array(1,2,3);
| class dummy{
|
| constructor(){
| alert("in constructor");
| return d;
| }
|
| }
|
| var handler = {
| get: function(target, name){
|
| if(name == "length"){
| return 0x100;
| }
| return {[Symbol.species] : dummy};
| },
|
| has: function(target, name){
| alert("has " + name);
| return true;
| }
| };
|
| var p = new Proxy([], handler);
|
| var a = new Array(1,2,3);
|
| function test(){
| return 0x777777777777;
|
| }
|
|
| var o = a.map.call(p, test);
|
| var h = [];
|
| for(item in o){
|
| var n = new Number(o[item]);
| if (n < 0){
| n = n + 0x100000000;
| }
| h.push(n.toString(16));
|
| }
|
| alert(h);
|
| </script></body></html>
|
|