为js对象的原型添加一个方法
Add a method to prototype of js object
尝试为js Date
对象添加方法以获得格式化日期,Date
未在任何地方声明或与new
/create()
一起调用:
Date.prototype.format = function () {
// return this.getFullYear() + '-' + ('0' + (this.getMonth() + 1)).slice(-2) + '-' + ('0' + this.getDate()).slice(-2)
var curr_date = this.getDate();
var curr_month = this.getMonth() + 1;
var curr_year = this.getFullYear();
return curr_year + "-" + curr_month + "-" + curr_date;
}
我搞砸了this
变量。getDate()
、getMonth()
、getFullYear()
是Date
对象的方法。
.getDate();
时抛出错误:undefined is not a function
请澄清如何在其原型中使用单一对象类型的其他方法
如果你想使用它而不创建新的date实例…嗯
你可以做
var d = new Date
函数中的。并将所有这些替换为d。然后您可以执行
Date.prototype.format()
但如果你仍然想要这个,只需执行
new Date().format()
您是否有机会将其作为属性而不是方法调用?我只是把你的代码到Chrome的控制台,它似乎工作得很好,通过调用它作为一个方法。
new Date().format; // does not work
new Date().format(); // works
如果你仍然有问题,考虑将它重写为一个独立的函数,而不是一个原型函数。
相关文章:
- 将一个方法转换为promise:Nodejs
- 如何在所有ng点击事件AngularJS上启动一个方法
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 如何创建一个方法来验证数组的范围
- 如何将一个方法延迟到另一个方法首先完成,javascript
- 在Javascript中对类的每个实例调用一个方法
- 如何重写一个方法,并且仍然能够在重写的方法中使用基方法
- NodeJS-从同一文件中的另一个方法调用一个方法
- 有没有任何情况下,一个方法不应该是原型方法
- Jasmine间谍的函数称为一个方法
- 在带有参数列表的表单submit上调用一个方法
- 方法不在另一个方法内部调用
- 在 1 个方法中增加变量值会触发另一个方法的 for 循环,欢迎任何建议
- 如何使用javascript express node将变量从控制器中的一个方法公开.js到另一个控制器.js
- 如何在javascript中将变量的值分配给另一个方法
- 在浏览器关闭时,单击确认对话框中的“停留在页面上”,执行一个方法
- 使用一个方法在c#中启动其他方法
- 如何在Ember中转换到另一个路由时调用一个方法
- 在typescript中重载一个方法
- 我可以在setInterval函数中放入一个方法作为参数吗