有没有办法可以覆盖JSON.parse函数?
如果是,请向我提供覆盖它的指示。
答案 0 :(得分:3)
是的,你可以
Object.getOwnPropertyDescriptor(JSON, 'parse')
> {writable: true, enumerable: false, configurable: true}
喜欢这个
(function(JSON) {
var oldParse = JSON.parse;
JSON.parse = function newParse() {
}
}(JSON))
答案 1 :(得分:1)
以下应该可以解决问题:
JSON.parse = function(str) {
return { 'foo': 'bar' };
};
var res = JSON.parse('aaaa');
console.log(res);
答案 2 :(得分:1)
这对你有帮助
JSON.prototype.parse= function(str)
{
// your custom code should be here
}
或者您可以使用Custom JSON类来实现实际的JSON功能
function CustomJSON() {};
CustomJSON.prototype = new JSON;
CustomJSON.prototype.__super__ = JSON;
CustomJSON.prototype.parse= function(str) {
console.log('called CustomJSON.parse');
// calling JSON.parse();
this.__super__.prototype.parse.call(this);
};