var shell = function (method) {
window[method].apply(null, Array.prototype.slice.call(arguments, 1));
};
shell('alert', 'monkey!');
回答
alert.apply是问题所在。 警报不是语言的一部分,所以它可能不是一个函数。它是执行相关的。
Right - IE在'window'和DOM元素上向Javascript公开API,但是暴露程度有限,并且您通常不能将这些事情看作是“真正的”Javascript组件。 – Pointy 2010-07-06 12:48:04
+1与galambalazs一致。 – Krunal 2010-07-06 12:49:49
好点,但不应该这样工作: var shell = function(method){ var fn = window [method]; fn.apply = Function.prototype.apply; fn.apply(null,Array.prototype.slice.call(arguments,1)); }; shell('alert','monkey!'); – shawndumas 2010-07-06 12:56:22
- 1. 为什么JavaScript不适用于Firefox/Chrome,而是适用于IE?
- 2. 为什么这不适用于IE 10?
- 3. jquery:为什么这不适用于Chrome?
- 4. UpdatePanel仅适用于Chrome,不适用于IE/Mozilla。为什么?
- 5. 为什么这个适用于IE,但不适用于Firefox或Chrome?
- 6. 为什么JavaScript不适用于Google Chrome?
- 7. $ .getJSON()不适用于Chrome,为什么?
- 8. 为什么这个JavaScript事件不适用于IE ..?
- 9. 为什么这种CSS风格不适用于IE 8?
- 10. 为什么这个html代码复选框适用于Firefox和Chrome,但不适用于IE?
- 11. 为什么这个JavaScript不适用于Chrome和Safari?
- 12. 为什么这个处理程序不适用于Chrome?
- 13. 小谜语:为什么这不适用于Chrome?
- 14. event.preventDefault()适用于Chrome,但不适用于Firefox,为什么?
- 15. @ font-face不适用于IE,但是适用于Chrome浏览器?
- 16. 为什么这个工作在Firefox而不是IE?在IE
- 17. 为什么这不适用于Firefox?
- 18. 为什么这不适用于Ruby 1.9.2?
- 19. JS适用于Chrome而不是Firefox的
- 20. 为什么Winforms.Button.Text适用于DataBinding而不适用于ImageKey?
- 21. 为什么crtp适用于结构而不适用于课堂?
- 22. 为什么UPDATE语句适用于initWithFormat而不适用于stringWithFormat?
- 23. 为什么在Firefox,而不是这个@ Html.Raw()使用的Chrome
- 24. 为什么这不适用于IE9,但适用于Firefox?
- 25. 专注于Chrome而不是IE
- 26. 为什么它可以在Firefox中使用,但不适用于Chrome或IE?
- 27. 为什么这个JavaScript只适用于IE浏览器
- 28. Jquery/Ajax不适用于Chrome和FireFox,但不适用于IE
- 29. 为什么AJAX代码在IE,Chrome,FireFox5.0中工作,但不适用于FireFox 3?
- 30. Javascript onchange()不适用于Chrome和IE
因为IE是邪恶的 – Jimmy 2010-07-06 12:40:12
请参阅此问题的答案:http://stackoverflow.com/questions/120804/difference-between-array-slice-and-array-slice – 2010-07-06 12:45:20
no,Array.prototype.slice.call (参数,1)没问题。 – galambalazs 2010-07-06 12:46:24