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


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

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

阅读 3.9k
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());
推荐问题