javascript - JS - 在原型(prototype)函数中覆盖它

标签 javascript

我想在Number原型(prototype)函数中覆盖this,动态改变变量的值,例如:

Number.prototype.xd = function(){
  this = 11212;
}
var a = 171717;
console.log(a);
a.xd();
console.log(a);

是我想要的,但它会引发错误。 Array.prototype.pop 方法以这种方式工作:

fruits = ["a","b","c","d"];
console.log(fruits);
fruits.pop();
console.log(fruits);

我可以这样做吗?

最佳答案

你无法实现你想要的,因为 JS 中的数字是不可变的。

这不起作用的另一个原因是因为 this 根据其定义在 JS 中已经是动态的,因此每次调用函数时它都会自动更改,具体取决于它的调用方式。

关于javascript - JS - 在原型(prototype)函数中覆盖它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41553066/

相关文章:

javascript - JavaScript Canvas 中的 HSB 颜色填充

javascript - 如何使用 Marionette 的 ItemView 渲染集合?

javascript - 更改 JS 中的全局范围

javascript - 在 JavaScript 中使用 for 循环向 Facebook 运行多个 ajax 请求并检索页面的点赞时出现问题

javascript - Angular 响应拦截器不重定向

javascript - 动态改变 jQuery 进度条的颜色

javascript - 允许用户输入值的列表框

javascript - 使用push函数将Json对象向上注入(inject)到VAR对象中

javascript - 使用对象的属性作为键将对象添加到散列/数组

javascript - 如何使用默认按钮来关闭tippyjs的工具提示