-1

重複の可能性:
JavaScript変数がドル記号で始まるのはなぜですか?

$scopeと$deferが何であるかはわかりませんが、機能しているようです。

function xyz($scope, $defer) {
    xyz = this;
    this.defer = $defer;
    this.scope = $scope;
    this.scope.test = function(re) {
        console.log(this,arguments);
    }
}
4

2 に答える 2

7

一般に、最近の開発者は変数$somethingに名前を付けて、それがラッピング フレームワークのオブジェクト タイプであることを示します。たとえば、jQuery オブジェクトをキャッシュするには、次を使用するのが理にかなっています$this = $(this);

そうは言っても、ドル記号について特別なことは何もありません。開発者向けの注意事項です。

少しの歴史と推論。ECMAScript 3 は次のように述べています。

ドル記号 ($) とアンダースコア (_) は、識別子のどこでも使用できます。ドル記号は、機械的に生成されたコードでのみ使用することを意図しています

一方、ECMAScript 5 は次のように述べています。

ドル記号 ($) とアンダースコア (_) は、IdentifierName のどこでも使用できます。

したがって、誰かが「機械的に生成されたコードのため、変数にドル記号を使用するべきではない!」と言うと、「Psh、ECMA 5、こんにちは?」と言うことができます。

于 2012-05-01T15:20:43.327 に答える
5

これらはパラメータの名前です。

更新:$JavaScriptの識別子として完全に有効です(それ自体でも、特定のJSライブラリのおかげでおそらくより一般的です)が、通常、このような印章としては使用されません。私は、コードがPerlの経験が多すぎる誰か、またはおそらくjQueryベースのコードを主に扱っている誰かによって書かれたと推測しています。

于 2012-05-01T15:17:07.233 に答える