我目前正在阅读一本关于AngularJS的书籍,我有一个关于javascript语法的问题不理解。
var element = $compile('<button></button>')($rootScope);
如何使用两组括号调用函数?
('<button></button>')
($rootScope)
请问有人能给出有关此js结构的建议吗?
我目前正在阅读一本关于AngularJS的书籍,我有一个关于javascript语法的问题不理解。
var element = $compile('<button></button>')($rootScope);
如何使用两组括号调用函数?
('<button></button>')
($rootScope)
请问有人能给出有关此js结构的建议吗?
这并不是一个特殊的结构,只是一个返回函数的函数。
function a () {
return function () {
console.log("hello");
};
}
a()();
AngularJS $compile
接受一些 HTML 字符串并返回一个模板函数,然后可以调用该函数。
您的代码片段跨越两行,将如下所示:
var template = $compile('<button></button>');
var element = template($rootScope);
$compile('<button></button>')
返回一个函数,该函数由第二组括号立即执行。
$compile('<button></button>')
调用一个函数。它返回了一些东西。($rootScope)
应用于返回值(这很可能是另一个函数)。
举个简单的例子:
function one() {
return two;
}
function two() {
alert("Hello");
}
one()();
$compile
返回一个函数(这是完全合法的),那么当然可以调用该函数。 - dan-lee