场景描述:
我们都知道IE浏览器和非IE浏览器都有很多功能一样但写法不同,或者各自都有一些自己独特的方法,那么为了保持兼容性和便于编写,我们可以通过这两个方法给非IE浏览器的对象增加自己没有,但IE有且和IE同名的属性,比如:
if (/Firefox/.test(navigator.userAgent)) { var $E = function () { var c = $E.caller; while (c.caller) c = c.caller; return c.arguments[0] }; __defineGetter__("event", $E); };
这是给Firefox浏览量增加event对象。
问题分析:
当你想在对象定义以后再添加Getter或Setter,或者这个对象的原型不是你写的或是内置对象,这两个函数是非常有用的;
问题解决:
注意,这两个函数只能在非ie浏览器下使用。