4

以下は、Web ページにツイート ボタンを追加するために使用する Twitter スクリプトの読み込みスニペットです。

!function(d,s,id){
  var js, fjs = d.getElementsByTagName(s)[0];

  if (!d.getElementById(id)){ 
    js = d.createElement(s);
    js.id = id;
    js.src = "//platform.twitter.com/widgets.js";
    fjs.parentNode.insertBefore(js,fjs);
  }
}(document,"script","twitter-wjs");

最後の行で"script"は、単に変数として宣言するのではなく、IIFE 引数に渡します。

これを行う利点は何ですか?コードの長さを数文字節約するだけですか?

4

1 に答える 1

-2

もし彼らが IIFE の外で変数を使ったら、10,000 人の Web ページ上の 10,000 人の JavaScript の変数に干渉するかもしれません。その名前の変数が既に存在する場合、それらをページに含めると動作が妨げられる可能性があり、人々は「Twitter を使おうとしましたが、Web ページが壊れてしまいました」と言うでしょう。本当かどうか。

彼らが行った方法で行うことで、周囲のコードへの影響を最小限に抑えます。

内部の変数

内部に変数を配置すると、すでに機能している Web ページに追加する必要があるものを文書化するのが難しくなります。彼らは新しい JavaScript ユーザーに文字列変数をフォーマットする方法を教える必要があり、新しいユーザーはコードの 2 つの場所に情報を入力する必要があります。

このようにして、最後の行を除くすべての行を「魔法」として表示するだけで済みます。「これらの行をコピーしてください」と彼らは言います。

それから彼らは、最後の行の引用符に 2 つのものの名前を入れなければならないと説明します。説明するのは簡単です。

確かに、それほど簡単ではありません。しかし、何千人もの人々がそれを使用することで、いわば市場への浸透を高めることができると説明するのは少し簡単です.

于 2013-04-04T18:46:11.993 に答える