我有一个计算屏幕宽度的功能
var screenWidth = jQuery(window).width();
function checkScreenSize()
{
screenWidth = jQuery(window).width();
}
jQuery(window).on("resize", checkScreenSize).resize();
如何在另一个函数中使用此screenWidth?
编辑:
我想在这里访问此变量,例如:
function showContent() {
if(screenWidth <= 1000)
{
console.log(screenWidth);
}
}
答案 0 :(得分:1)
由于screenWidth
是在您提到的function
之外声明的全局变量,因此您可以按原样访问它:
function foo() {
console.log(screenWidth);
}
答案 1 :(得分:0)
您的全局screenWidth
毫无用处......
如果您需要知道调整大小处理程序回调中的宽度,那么您需要调用jQuery(window).width()
function checkScreenSize(){
var w = $(window).width()
console.log(w)
}
jQuery(window).on("resize", checkScreenSize)
// .resize() is a shorthand for .on('resize' method
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以通过在global
范围内定义所述变量来实现此目的;如果在其他函数上下文中定义var screenWidth = ...
,则无法从其他函数访问它。
使用全局是一个坏主意;但是,在许多情况下,您需要一些您需要从其他地方访问的变量值。在这种情况下,您可以构造一个定义良好的“Globals”容器,例如ie:
'use strict'; // strict mode :: prevents nasty bugs
this.Main = this; // super-global :: refers `window` -or- `global`
Main.Globals = {screenWidth:null};
// your dynamic screen resizing code here sets the `Globals.screenWidth`
// now you have access to this anywhere
你也可以编写一些代码让这个Globals
对象只能由某些函数写入,但这种技术可能超出了这个问题的范围。但考虑到此代码是团队中许多合作者的大型项目的一部分,这可能是一个好主意。