我被要求提出另一个问题并将其链接到此主题。 How add mandatory dropdown field in Touch UI
我的问题是: 有人可以告诉我javascript函数的终点是什么。
})(document, Granite.$, Granite.author);
是某种命名空间。
供我参考,我附上了Javascript代码。
(function (document, $, ns) {
"use strict";
$(document).on("click", ".cq-dialog-submit", function (e) {
e.stopPropagation();
e.preventDefault();
var $form = $(this).closest("form.foundation-form"),
title = $form.find("[name='authoringMode']").val(),
message, clazz = "coral-Button ";
if(!title){
ns.ui.helpers.prompt({
title: Granite.I18n.get("Invalid Input"),
message: "Please Check Values",
actions: [{
id: "CANCEL",
text: "CANCEL",
className: "coral-Button"
}
],
callback: function (actionId) {
if (actionId === "CANCEL") {
}
}
});
}else{
$form.submit();
}
});
})(document, Granite.$, Granite.author);
答案 0 :(得分:2)
这就是我们所谓的自我调用函数:
(function (document, $, ns) { ...
})(document, Granite.$, Granite.author);
和那些(“文档,花岗岩......等)是传递给同一个函数的参数。
答案 1 :(得分:1)
最后一行是将参数传递给IIFE(立即调用的函数表达式)。您可以了解更多here
答案 2 :(得分:0)
})(document, Granite.$, Granite.author);
将参数传递给函数,将document
定义为document
,将Granite.$
定义为$
,将Granite.author
定义为函数表达式中的ns
< / p>
(function (document, $, ns) {
如,
var obj = {
$:jQuery,
author:"abc"
};
(function(document, $, ns) {
"use strict";
console.log($, ns)
}(document, obj.$, obj.author))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>