1. 首页
  2. 考试认证
  3. 其它
  4. 永远不要使用Array.prototype.slice.call(arguments)!

永远不要使用Array.prototype.slice.call(arguments)!

上传者: 2024-11-11 02:33:50上传 ZIP文件 2.36KB 热度 23次

在处理 arguments 对象时,永远不要写 Array.prototype.slice.call(arguments)。可以通过使用 Object.defineProperty(arguments.constructor.prototype, [functionName], {enumerable: false, configurable: true, value: [functionBody]}) 来代替,避免在迭代时引发混乱。使用 Object.getOwnPropertyNames(Array.prototype) 也能获取所有函数。虽然这个做法解决了一些问题,但 arguments 不应该被修改。这个问题的背景是,虽然解决了某些技术问题,但没有找到其他禁忌的原因。如果你知道更多信息,欢迎分享!此方法特别适用于使用 Object.defineProperty 的场景。

下载地址
用户评论