【发布时间】:2020-11-16 19:54:25
【问题描述】:
Javascript 面试题:在不使用Prototype 和Object.defineProperty、Object.defineProperties 的情况下让[1,2,3].sum() 运行精确的代码。
既然这是一个面试问题,我假设有办法让它发挥作用?
感谢任何帮助/指点方向。
谢谢
【问题讨论】:
-
@Dai 不会真正起作用 - 数组文字不会只是在作用域链中查找
Array(这就是new Array()会做的) - 它实际上会初始化一个原生数组,不管window.Array. -
您是否签署了保密协议并同意不分享面试问题?
-
@VLAZ 以前(如 2010 年之前)浏览器在遇到文字时会使用用户提供的
Array构造函数。 JavaScript 数组字面量不是由解析器/编译器初始化,而是在遇到时初始化。 -
实际的限制是什么?你不能用原型做任何事情,或者你不能使用
prototype作为属性,或者你不能使用“原型”这个词?还是什么? -
我的意思是.. 他们正在寻找的正确答案可能是“没有(好的)方法可以做到这一点”也许是看你是否愿意给出一些 hacky 而不是你的脚向下
标签: javascript