gpt4 book ai didi

javascript - 为什么 a 显示 "function getFullYear() { [native code for Date.getFullYear, arity=0] }"而不是方法返回的值?

转载 作者:搜寻专家 更新时间:2023-11-01 05:01:22 24 4
gpt4 key购买 nike

在 Google Apps 脚本编辑器中,我有以下代码

  function t(){
var d = new Date;
Logger.log(d);
var y = d.getFullYear;
Logger.log(y);
if (y == 2013) {
Logger.log("yes");
} else {
Logger.log("No");
}
}

查看日志时看到如下结果。

[13-06-23 19:53:52:863 PDT] Sun Jun 23 19:53:52 GMT-07:00 2013
[13-06-23 19:53:52:864 PDT] function getFullYear() { [native code for Date.getFullYear, arity=0] }

[13-06-23 19:53:52:864 PDT] No

我以为我会看到一个整数或一个字符串,它是 getFullYear 返回的值。

无论是什么原因对我造成这个问题,都不是这种方法所独有的。

我相信这是非常基础的。

提前致谢。

最佳答案

这在 y 中存储了对 getFullYear 函数的引用:

var y = d.getFullYear;

这会调用 getFullYear 函数并将函数调用的结果存储在 y 中:

var y = d.getFullYear();
// ------------------^^

也许您感到困惑,因为您可以创建带或不带括号的对象(假设您当然不需要传递任何参数):

var d1 = new Date;
var d2 = new Date();

它们都做同样的事情,但这只是 new 运算符的一个怪癖/特性。

关于javascript - 为什么 a 显示 "function getFullYear() { [native code for Date.getFullYear, arity=0] }"而不是方法返回的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17267547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com