0

実行時に JavaScript 関数名を決定する必要があるシナリオがあります。簡単にするために、JavaScript変数に関数名があり、変数値を使用して関数を作成したいとします。私はリンクJavascriptを通過しました - 関数名の変数、可能ですか? 小さなコードスニペットを試しました

   <HTML>
       <HEAD>
          <TITLE> New Document </TITLE>
      </HEAD>
        <script>
        var temp1='at_26';
        temp1: function() {alert("Inside 26"); }
        </script>
         <BODY>
            <a href="javascript:window[at_26]()">Copy Text</a>
         </BODY>
    </HTML>

しかし、ハイパーリンクのテキストのコピーをクリックすると、Line: 1 Error: 'at_26' is undefinedというエラーが表示されます

4

2 に答える 2

2

デモ

var temp1='at_26'; 
window[temp1]=function() {alert("Inside 26"); return false} 

その後

<a href="#" onclick="return window['at_26']()">Click</a>

また

<a href="#" onclick="return at_26()">Click</a>

動作するはずです

グローバルスコープを汚染せず、例のようにコロンを使用しているため、私が望むのは次のとおりです。

var myScope = {
  "at_26":function() {alert("Inside 26"); return false}
}

使用して

<a href="#" onclick="return myScope.at_26()">Click</a><br />
于 2012-10-13T09:34:43.743 に答える
1

コードに複数の問題がありました。修正版は次のようになります。

<script>
    window['at_26'] = function() {alert("Inside 26"); };
</script>
<BODY>
    <a href="javascript:window['at_26']()">Copy Text</a>
</BODY>
于 2012-10-13T09:27:06.467 に答える