0
function shortUrl () {   
$['post']('http://tinyurl.com/api-create.php?url=http://json-tinyurl.appspot.com/', function (a) {

});
};

この関数を変数として作成したいので、スクリプトで shortUrl Anywhere を使用できます。お気に入り

var shortaddress = shortUrl ();

結果を次の関数で使用したい。

4

3 に答える 3

7
function shortUrl () {...} 

と同等です

var shortUrl = function () {...};

したがって、それはすでに変数です。

于 2013-06-30T19:52:02.693 に答える
1

関数はすでに変数なので、そのまま使用できます。例えば:

function foo() {
  // ...
};

とほぼ同じです

var foo = function() {
  // ...
};

foo基本的に、括弧と引数 (の代わりに)を削除すると、foo()任意の関数を通常の変数として使用できます。

したがって、たとえば、通常のように他の変数に割り当てることができます。

var bar = foo; // note: no parentheses
bar();         // is now the same as foo()

または、別の関数に引数として渡すこともできます:

function callFunc(func) {
  func(); // call the variable 'func' as a function
}

callFunc(foo); // pass the foo function to another function
于 2013-06-30T20:02:55.793 に答える
0

関数をどこでも使用する場合shortUrlは、グローバル スコープで宣言する必要があります。次に、その変数はWindowオブジェクトのプロパティになります。たとえば、次の変数

<script type="text/javascript">
    var i = 123;
    function showA(){ alert('it'); window.j = 456; }
    var showB = function() { alert('works'); var k = 789; this.L = 10; }
</script>

Window オブジェクトで直接宣言されているため、その属性になります。したがって、どのスクリプトからでも簡単にアクセスできるようになりました。たとえば、次のコマンドはすべて機能します。

<script type="text/javascript">
    alert(i); alert(window.i);
    showA(); window.showA();
    showB(); window.showB();
    alert(j); alert(window.j);
    alert(new showB().L); // here the function was called as constructor to create a new object
</script>

JavaScript の関数はオブジェクトであるため、それ自体で属性を保持できます。
上記の例では、k変数をプライベート プロパティと見なし、変数をオブジェクト (または関数)Lのパブリック プロパティと見なすことができます。showBもう 1 つの例: ページに jQuery ライブラリを含める場合、jQuery は通常、window.jQueryまたはwindow.$オブジェクトとして自身を公開します。衝突の可能性を防ぐために、グローバル変数を非常に慎重に使用することをお勧めします。

于 2013-06-30T21:39:38.253 に答える