【问题标题】:Why does printing this object variable in the console return "undefined" after the value? [duplicate]为什么在控制台中打印此对象变量在值之后返回“未定义”? [复制]
【发布时间】:2016-12-16 03:32:45
【问题描述】:

jsFiddle https://jsfiddle.net/d4rhf23x/

问题:就我的滚动处理程序而言,一切都按预期工作,但如果我像这样对有问题的对象变量进行手册:console.log(site.globalVars.scrollY);,它确实 em> 返回正确的值,但随后它也会立即返回 undefined

脚本:

<script>

    var site = {

        globalVars: {
            didScroll: false,
            scrollY: 0,
        },

        globalFuncs: {

            ifUserScrollsDoActions: function(){
                if ( site.globalVars.didScroll ) {
                    site.globalVars.didScroll = false;
                    site.globalVars.scrollY = window.scrollY;
                    console.log(site.globalVars.scrollY);
                }
            },

        },

        topMenuElements: {
            mobileMenuLink: document.getElementById('mobile-menu-link'),
        },

    };


    window.onscroll = function () {  
        site.globalVars.didScroll = true;
    }

    setInterval(function() {
        site.globalFuncs.ifUserScrollsDoActions();
    }, 250);


</script>

【问题讨论】:

  • 这是函数默认返回的,而console.log()是函数,直接在控制台使用时返回undefined
  • 你的小提琴链接是一个空的小提琴。
  • 如果您实际上是在控制台中输入,您最好输入site.globalVars.scrollY 而不是console.log(site.globalVars.scrollY)

标签: javascript


【解决方案1】:

当您将console.log 作为函数调用时,它会将参数记录到控制台。

当您从控制台调用 console.log 作为函数时,它会将其视为控制台中的任何其他函数,并记录 return 值。

console.log 返回undefined

【讨论】:

    猜你喜欢
    • 2012-05-03
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 2016-01-14
    相关资源
    最近更新 更多