JavaScript的箭头函数将返回窗口,而不是Date对象

时间:2019-06-19 00:39:22

标签: javascript this arrow-functions executioncontext

我需要此函数来返回上一年。在此版本中,它可以正常工作

from selenium.webdriver import Chrome
driver = Chrome()
dat = [your html string]

driver.get("data:text/html;charset=utf-8,{html_content}".format(html_content=dat))
elems = driver.find_elements_by_xpath("//h2")
for elem in elems:
    print(elem.text)

现在具有箭头功能,这将成为窗口:

Date.prototype.lastYear = function() {
    console.log('this', this); // objecto Date
    return this.getFullYear() - 1; 
}

let ly1 = new Date().lastYear();

console.log('ly1', ly1); // 2018
// this Tue Jun 18 2019 22:36:25 GMT+0100 (Western European Summer Time)

在此站点上搜索,到目前为止,此问题的答案似乎无关紧要,因为我用new创建了一个实例,并且我相信这应将实例的执行上下文更改。还是不?

0 个答案:

没有答案