Date.prototype.newFunction 和 Date.newFunction 之间的区别
Difference between Date.prototype.newFunction and Date.newFunction?
Date.prototype.newFunction和Date.newFunction有什么区别?我知道原型继承在Javascript中是如何工作的,所以我理解原型示例,但是Date.newFunction抛出了我。
我想你知道,原型包含的属性将由通过构造函数创建的对象自动继承。
Date.newFunction
只是构造函数本身的一个属性,只能通过 Date.newFunction
访问。 它不由通过构造函数创建的对象继承,并且无法通过构造函数创建的特定实例访问。
有人会说Date.newFunction
类似于其他语言中的类静态方法。 它不是附加到特定实例的方法,而更像是该对象类型的帮助程序函数。 这些类型的方法通常不对实例数据进行操作,它们可以很容易地成为全局实用程序函数,但从命名空间的角度来看,将它们分配为构造函数的属性通常更干净。
例如,在 Javascript Date
对象上,Date.now()
和 Date.parse()
等方法就是此类静态方法的示例。 您无需创建实例来使用它们,只需直接调用它们:
var tStart = Date.now();
要记住的一件事是,Javascript中的任何函数也是一个对象,因此它可以具有.prototype
属性之外的任意属性,并且将该功能用于静态方法只是一种用途。
Date.a = function () {
return 'Date.a';
};
Date.prototype.a = function () {
return 'Date.prototype.a';
};
Date.a(); // return 'Date.a'
var b = new Date();
b.a(); // return 'Date.prototype.a'
相关文章:
- 在事件上打开Materialize Date Picker
- 在经过DATE验证的列中创建null值
- 如何将Date字段设置为等于另一个Date+Int值,该值表示月份值
- 为什么要做新的.Date()与new相差1小时.日期().到ISOString()
- 返回值+new Date()与Date.now()是否不同
- Javascript Date.toString() formatting?
- Javascript返回错误的Date值(NodeJS)
- date对象未在javascript中返回正确的日期值
- 当点击今天按钮时,Bootstrap Date Time Picker未选择当前时间
- 新Date()javascript的日期字符串
- JavaScript“new Date()”使用哪个时区
- Date对象未返回预期年份
- Date.js错误地分析了ISO 8601 UTC日期
- JS:如何将字符串(“2015年3月10日”)转换为Date对象
- Bootstrap-Datepicker not selecting date when using "set
- JS RegEx for date&名称规则
- 当绑定到Date()-对象时,如何格式化input[time]的值
- AngularJS:如何访问自定义指令中的input[date]min属性
- 使用Date.getTime()计算日期时出错
- Date.prototype.newFunction 和 Date.newFunction 之间的区别