javascript - 为什么这个 JavaScript 函数返回 : "0:0function toString() { [native code] }"?

标签 javascript time string-formatting

我从 this site 中获取了以下函数并将其插入我的代码以显示基于毫秒参数的用户友好时间字符串。

为什么这个功能不起作用?

    function getTimeFromMillis(millis)
    {

        milliSecs = millis;

        msSecs = (1000)
        msMins = (msSecs * 60)
        msHours = (msMins * 60)
        numHours = Math.floor(milliSecs/msHours)
        numMins = Math.floor((milliSecs - (numHours * msHours)) / msMins)
        numSecs = Math.floor((milliSecs - (numHours * msHours) - (numMins * msMins))/ msSecs)


        if (numSecs < 10){
          numSecs = "0" + numSecs.toString
        }
        if (numMins < 10){
          numMins = "0" + numMins.toString
        }

        resultString = numHours + ":" + numMins + ":" + numSecs     
        return resultString;

    }

如果我从我的调用函数中传递一个毫秒值,我会得到这个:

0:0function toString() { [native code] }:0function toString() { [native code] }

最佳答案

您在调用“toString”时忘记了 ()

编辑 — 抱歉不得不离开一会儿。正如@Gareth 评论的那样,对“toString”的引用在语法上是有效的,因为它们只是对函数的引用。因此,解析器 对您的代码没有任何问题。当您将这些引用隐式转换为字符串时出了问题。

如果你只是在每次调用中添加 (),它应该会工作得更好。或者,正如您链接到的那个页面进一步指出了一些帖子,您真的根本不需要 .toString()

关于javascript - 为什么这个 JavaScript 函数返回 : "0:0function toString() { [native code] }"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106656/

相关文章:

javascript - 如何使用||和 && 一起出现在一个 if 语句中

python - 嵌套字典的查找时间如何增加?

c - C中getitimer和setitimer的使用

java - 如何在android中获取特定格式的字符串

java - 格式化 float

javascript - 即使数据存在,ng-repeat 也不显示

javascript - 需要使用body onload事件,但是第三方JavaScript库已经劫持了它

javascript - 从 url 中删除查询参数

javascript - 在 Node.js 中向 javascript 日期添加分钟

c# - 在不更改数字值的情况下将 float 显示为百分比