javascript/jquery传递变量

javascript/jquery传递变量,javascript,jquery,variables,parameter-passing,Javascript,Jquery,Variables,Parameter Passing,我想知道是否有一种方法可以像这样传递变量: <script type="text/javascript"> width = 300; </script> <script type="text/javascript"> (function(){ var k = width; alert(k); }); </script> 因此,如果有必要,我可以添加更多变量 谢谢 是的,你可以这样做 如果您在任何函数或闭包之外声明一个变量,该变量

我想知道是否有一种方法可以像这样传递变量:

<script type="text/javascript">
width = 300;
</script>

<script type="text/javascript">
(function(){
    var k = width;
    alert(k);
});
</script>
因此,如果有必要,我可以添加更多变量

谢谢

是的,你可以这样做

如果您在任何
函数或闭包
之外声明一个变量,该变量将是全局变量(窗口对象的属性),并且您可以在声明之后的任何位置(甚至在外部js文件中)使用该变量

但是最好将所有全局变量放在一个对象中,这样它就不会像这样污染全局名称空间

globalVars = {
   width: 300,
   height: 200
};
function getVariable(width)
{
  var newWidth = width;
  alert(newWidth);
  //do something else
  return newWidth
}
然后像这样使用它们

(function(){
        var k = globalVars.width;
        alert(k);
    });
是的,你能做到

如果您在任何
函数或闭包
之外声明一个变量,该变量将是全局变量(窗口对象的属性),并且您可以在声明之后的任何位置(甚至在外部js文件中)使用该变量

但是最好将所有全局变量放在一个对象中,这样它就不会像这样污染全局名称空间

globalVars = {
   width: 300,
   height: 200
};
function getVariable(width)
{
  var newWidth = width;
  alert(newWidth);
  //do something else
  return newWidth
}
然后像这样使用它们

(function(){
        var k = globalVars.width;
        alert(k);
    });

窗口。$vars={
宽度:300
};
(功能(){
var k=窗口。$vars.width;
警报(k);
})();
将变量放入全局范围就可以了。


窗口。$vars={
宽度:300
};
(功能(){
var k=窗口。$vars.width;
警报(k);
})();

将变量放入全局范围即可。

看起来您正在尝试创建一个大型配置设置文件。我会创建一个对象并引用它的属性来分配局部变量

所以我会这样做:

<script type="text/javascript">
    var myLargeObject = {
          width:300,
          name:"give it a name",
          height:500,
          etc..
    }
</script>

//then reference your values like this...
<script type="text/javascript">
    (function(){
        var k = myLargeObject.width;
        alert(k);
    });
</script>

var myLargeObject={
宽度:300,
名称:“给它起个名字”,
身高:500,
等
}
//然后像这样引用你的值。。。
(功能(){
var k=myLargeObject.width;
警报(k);
});

看起来您正在尝试创建一个大型配置设置文件。我会创建一个对象并引用它的属性来分配局部变量

所以我会这样做:

<script type="text/javascript">
    var myLargeObject = {
          width:300,
          name:"give it a name",
          height:500,
          etc..
    }
</script>

//then reference your values like this...
<script type="text/javascript">
    (function(){
        var k = myLargeObject.width;
        alert(k);
    });
</script>

var myLargeObject={
宽度:300,
名称:“给它起个名字”,
身高:500,
等
}
//然后像这样引用你的值。。。
(功能(){
var k=myLargeObject.width;
警报(k);
});

您可以将这样的文件放入

globalVars = {
   width: 300,
   height: 200
};
function getVariable(width)
{
  var newWidth = width;
  alert(newWidth);
  //do something else
  return newWidth
}
调用函数:

getVariable(300)



这就是您想要完成的吗?

您可以将这样的内容放入一个文件中

globalVars = {
   width: 300,
   height: 200
};
function getVariable(width)
{
  var newWidth = width;
  alert(newWidth);
  //do something else
  return newWidth
}
调用函数:

getVariable(300)



这就是您想要实现的吗?

您可以在Cookie的帮助下实现这一点您的解决方案有什么问题?唯一的区别是,我只定义一个包含所有必需变量的对象。不,cookies是不必要的。这实际上应该是可行的,因为变量是在包含其他脚本之前声明的,所以它应该在@JonathanOng中可用。看起来您正在尝试创建一个配置文件。我会将这些配置设置放在对象上。然后,我将用select对象值定义变量。您的代码按原样工作——或者,除非底部脚本中的代码永远不会执行。您需要在分号之前添加一个尾随的
()
,以调用您的函数。您可以在Cookie的帮助下这样做。您的解决方案有什么问题?唯一的区别是,我只定义一个包含所有必需变量的对象。不,cookies是不必要的。这实际上应该是可行的,因为变量是在包含其他脚本之前声明的,所以它应该在@JonathanOng中可用。看起来您正在尝试创建一个配置文件。我会将这些配置设置放在对象上。然后,我将用select对象值定义变量。您的代码按原样工作——或者,除非底部脚本中的代码永远不会执行。您需要在分号之前添加一个尾随的
()
,以调用函数。