2017-04-23 8 views
0

まずは初心者のJavaScript開発者ですが、最近Angularを使い始めました。これは、熟練したJavaScriptプログラマにとっては非常に明白なことかもしれません。

私はカルマとジャスミンを使って角型アプリのテストを書くためにチュートリアルをオンラインで行ってきました。いくつかのHTML表現との角度ディレクティブのためのテストを書くためのチュートリアルを見ているとき、私は、多くの場合、この方法に遭遇しました

$compile(htmlExpressionAsString)($scopeToWhichThisHasToBeEvaluated) 

私はこの構文

を見てきたいくつかの場所

私は、ビデオチュートリアルから、式をコンパイルし、2番目の括弧。

私が理解できないことは、裏で起こることです。

引数$compile()を受け取り、それにスコープ引数を持つ別の括弧が魔法のように与えられている関数はどうですか?その構文はどのように有効ですか?私がここで紛失している概念は何ですか?私は決定的な答えを見つけることができなかったので、尋ねるだけで、私は本当にここで何を検索するのか分からない。

$compile(expression)は関数を返しますか? $compile()が機能して

機能の簡単な例で返された二()呼び出す返すため

+1

はいを​​、$サービスをコンパイルするには、リンク関数を返します。詳細については、[AngularJS $ compile Service API Reference - Usage](https://docs.angularjs.org/api/ng/service/$compile#usage)を参照してください。 – georgeawg

答えて

2

構文が有効です。

function foo(a) { 
 
    // return a function 
 
    return function(b) { 
 
    // return result when this function is called 
 
    return a + b; 
 
    } 
 
} 
 
let result = foo(3)(3); 
 
console.log('Result is',result); //6

関連する問題