返回变量中的函数输出

时间:2019-03-07 22:33:31

标签: javascript

我想根据浏览器的视口大小编写一个函数,并返回将在我的HTML plt.plot ()中使用的"X1""X2""X3"属性,以便加载正确的图像尺寸。

这就是我现在所拥有的。

srcset

我尝试过很多事情,尝试为函数赋予名称和属性,并且尝试将整个方法放入变量和其他东西中。

>

window.addEventListener("resize", function(){ if(typeof window.innerWidth != 'undefined'){ winw = window.innerWidth console.log(winw) return winw } }) 确实给了我正确的输出,并且它也更新了我想要的结果(出于响应的原因),但是我似乎无法将输出存储在变量范围之外的变量中。功能。

我得到了console.log(winw)Undefined

1 个答案:

答案 0 :(得分:0)

您可以在要访问它的父作用域中声明winw,这样就不必在侦听器中返回任何内容(如@FelixKling所指出的,addEventListener不会返回任何返回值值-https://www.w3schools.com/jsref/met_document_addeventlistener.asp)。

let winw = undefined;

window.addEventListener("load", function(){
    winw = window.innerWidth  
})
window.addEventListener("resize", function(){
    console.log('Resize event is fired')
    winw = window.innerWidth
    console.log(winw);
})

/* Timeout for the log here because console.log() alone
 would be fired before 'load' */
setTimeout(function(){ console.log(winw); }, 1000);

这在加载时在我的浏览器中有效,同样适用于重新调整大小。