function shortUrl () {
$['post']('http://tinyurl.com/api-create.php?url=http://json-tinyurl.appspot.com/', function (a) {
});
};
この関数を変数として作成したいので、スクリプトで shortUrl Anywhere を使用できます。お気に入り
var shortaddress = shortUrl ();
結果を次の関数で使用したい。
function shortUrl () {
$['post']('http://tinyurl.com/api-create.php?url=http://json-tinyurl.appspot.com/', function (a) {
});
};
この関数を変数として作成したいので、スクリプトで shortUrl Anywhere を使用できます。お気に入り
var shortaddress = shortUrl ();
結果を次の関数で使用したい。
function shortUrl () {...}
と同等です
var shortUrl = function () {...};
したがって、それはすでに変数です。
関数はすでに変数なので、そのまま使用できます。例えば:
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
関数をどこでも使用する場合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.$
オブジェクトとして自身を公開します。衝突の可能性を防ぐために、グローバル変数を非常に慎重に使用することをお勧めします。