问题:
我可以重写JavaScript中的“默认”功能吗?在Javascript中重写默认函数?
背景:
搞清楚,我不得不存储在localStorage
对象之间的碰撞之后,我决定,我应该申请一个前缀的所有键,以避免碰撞。很明显,我可以创建一个包装函数,但是直接覆盖默认的localStorage.getItem
& localStorage.setItem
以考虑我的前缀会更加简洁。
我的例子完全消灭Firefox,因为它递归调用自己,所以它显然不是靠近解决方案。也许它澄清了我想要完成的事情。
代码:
Storage.prototype.setItem = function(key, value) {
this.setItem("prefix"+key, value);
};
Storage.prototype.getItem = function(key, value) {
return this.getItem("prefix"+key);
};
+1栈溢出..不是无限循环 – 2012-02-13 21:54:06
其两个:)无限递归导致堆栈溢出!它可能得到没有无限递归的堆栈溢出:P – caleb 2012-02-13 21:55:52
是的,这是真的。但是来吧。这会因堆栈溢出而失败。它是一个无限循环,它不会产生JS错误。 – 2012-02-13 21:58:12