Ood*_*Ood 2 javascript arrays string class object
我想更改使用以下代码从JavaScript对象返回的值:
F.prototype.valueOf = function(){return "foo";}
F.prototype.toString = Id.valueOf();
"F"是JavaScript类,"foo"是我要返回的字符串.调用这样的警报时,这样可以正常工作:
alert(F());    //alerts foo
但有没有办法,一个对象的值可以是一个数组?也许是这样的
F.prototype.valueOf = function(){return ["foo", "bar"];}
F.prototype.toArray = Id.valueOf();
?
valueOf只能转换为原始值并返回原始值,因此不能强制它返回Array.您可以尝试使用JSON.Stringify返回JSON字符串,稍后可以在1上解析.另请参阅本文或MDN文档.
你当然也可以编写一个自定义的'getter'函数来检索你的自定义valueOf,例如:
F.prototype.getValue = function() {return ['foo', 'bar']};
1例如
var someobj = {
               bar: 1, some: [1,2,3], 
               x: 'string', foo:[{a:1,b:2},2,3], 
               valueOf: function(){return JSON.stringify(this);}
              };
someobj.valueOf(); 
//=> "{"bar":1,"some":[1,2,3],"x":"string","foo":[{"a":1,"b":2},2,3]}"
| 归档时间: | 
 | 
| 查看次数: | 625 次 | 
| 最近记录: |