JavaScript 怎么不创建新对象 直接调用方法?


var rq = new Date();
document.write(rq.getDate());

就是不创建rq 直接得出 getDate()?

阅读 3.8k
5 个回答

为什么不直接new Date().getDate()

不行,getDate必须要一个Date object作为函数内部的this才行

Date.prototype.getDate.call()
// => error: "Uncaught TypeError: this is not a Date object."

但是就你的标题而言,是可以有的,比如:

// 这里没有Array对象,但是调用了方法
Array.prototype.slice.call(document.getElementsByTagName('div'), 0);

你要搞清楚,getDate是date的一个成员方法,不是一个函数

不创建对象就调用的方法叫静态方法类方法

对于实例方法,原本的含义就是指对某个特定实例对象进行的操作,通常要对对象的内部状态进行读或写。如果没有对象,怎么完成操作?

dowument.write(window.Date.now());
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题