1

次のような変数を渡す方法があるかどうか疑問に思っていました。

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

<script type="text/javascript">
(function(){
    var k = width;
    alert(k);
});
</script>

幅を変数 k に渡す方法を学ぼうとしています。やりたくない こんなvar width =300ことをする方法はありますか?最終的には、一番下のスクリプトを、(function(){...});これを実行できるファイルに配置できます

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

//more variables if needed

//height = 300;
//name = "example";
//...
</script>

<script type="text/javascript" src="thefile.js"></script>

必要に応じて変数を追加できます

ありがとう!

4

4 に答える 4

6
<script type="text/javascript">
    window.$vars = {
        width: 300
    };
</script>

<script type="text/javascript">
    (function(){
        var k = window.$vars.width;
        alert(k);
    })();
</script>

変数をグローバル スコープに配置すると、それが実行されます。

于 2012-06-19T04:30:28.793 に答える
0

大きな構成設定ファイルを作成しようとしているようです。オブジェクトを作成し、ローカル変数の割り当てのためにそのプロパティを参照します。

だから私はこれをします:

<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>
于 2012-06-19T04:34:53.257 に答える
0

このようなファイルを入れることができます

function getVariable(width)
{
  var newWidth = width;
  alert(newWidth);
  //do something else
  return newWidth
}

関数の呼び出し:

getVariable(300)

また

<a href='javascript:getVariable(300);'>something</a>

これはあなたが達成したいことですか?

于 2012-06-19T04:35:20.497 に答える
0

はい、できます。

グローバル変数(ウィンドウオブジェクトのプロパティ)になる変数の外部で変数を宣言するfunction or closureと、その宣言の後にその変数をどこでも(外部jsファイルでも)使用できます。

ただし、すべてのグローバル変数をオブジェクト内に配置して、このようにグローバル名前空間を汚染しないようにすることをお勧めします

globalVars = {
   width: 300,
   height: 200
};

次に、それらを次のように使用します

(function(){
        var k = globalVars.width;
        alert(k);
    });
于 2012-06-19T04:30:14.507 に答える