jsFiddle https://jsfiddle.net/d4rhf23x/
问题:根据我的滚动处理程序,一切都按预期工作,但是如果我这样做了一个有问题的对象变量的手册:console.log(site.globalVars.scrollY);
,那么会返回正确的值,但之后它也会立即返回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>
答案 0 :(得分:4)
当您将console.log
作为函数调用时,它会将参数记录到控制台。
当您从控制台调用console.log
作为函数时,它会像控制台中的任何其他函数一样对待它,并记录return
值。
console.log
返回undefined
。