Я отрывал некоторый код от sharepoint и заметил, что в их функциях есть случайные истинные ложные утверждения. Моей первой мыслью было, что они остановят выполнение следующего оператора, но когда я сделал простой тест, журнал консоли показал, что он работает независимо от того, что.
Может ли кто-нибудь дать мне знать, для чего это нужно, в чем смысл и почему вы это сделаете.
вот пример, с которым я столкнулся и опубликую свой тест.
function _SubmitFormPost(a, d, c) {
if (typeof MSOWebPartPageFormName != "undefined") {
var b = document.forms[MSOWebPartPageFormName];
if (null != b)
{
if (d != undefined && d == true || typeof b.onsubmit == "undefined" || b.onsubmit == null || b.onsubmit() != false) {
//HERE IS A RANDOM EXAMPLE OF T/F
typeof window.WebForm_OnSubmit == "function" && window.WebForm_OnSubmit();
if (ajaxNavigate.get_search().match(new RegExp("[?&]IsDlg=1")) != null)
a += a.indexOf("?") == -1 ? "?IsDlg=1" : "&IsDlg=1";
if (FV4UI())
try {
var e = SP.Ribbon.PageManager.get_instance().get_ribbon().get_selectedTabId();
if (Boolean(e)) {
a = StURLSetVar2(a, "InitialTabId", escapeProperly(e));
a = StURLSetVar2(a, "VisibilityContext", "WSSTabPersistence")
}
} catch (f) {}
if (c != undefined && c == true) {
a = DemoteIntoFormBody(b, a, "owsfileref");
a = DemoteIntoFormBody(b, a, "NextUsing")
}
b.action = STSPageUrlValidation(a);
b.method = "POST";
if (isPortalTemplatePage(a))
b.target = "_top";
!bValidSearchTerm && _ClearSearchTerm("");
b.submit()
}
}
}
}
и вот мой тест, окно консоли поражало все логи console.logs, которые я думал, что не будет
function s(){
console.log('in s')
//is true
if(1==1){
//is true
if(2==2){
console.log(' if 2==2 and eval of t/f is ',typeof(1) =="function")
//is false -- expexted to skip console.log
typeof(1) =="function"
console.log('2 is 2')
}
//is true
2==3
if(3==3){
console.log('3==3')
}
}
}
s()