87,996
社区成员
发帖
与我相关
我的任务
分享
,你知道我想问的
a=a || {}; js中这句话的意思是什么?
这句话的意思是bai:
如果dua具有真值(不是undefined,null,NAN,false,0中的任意一zhi种),则这个a可以dao被使用。
否则zhuan将a定义为一shu个空的object对象{}。
这样做的目的是,如果a没有被定义,在下面的代码里如果使用到变量a,浏览器将会抛处xxx is undefined的异常。大多数浏览器处理此异常的方法是停止执行其后的js代码。所以预先处理好可能发生这种异常的情况,属于一种异常处理机制。
以上是我摘抄的,那么请问下面的该如何解释呢?
typeof abcapp == "undefined" && (abcapp = {}),
function(n) {
"use strict";
function t(t) {
n.disableLoading();
var i = '<div class="am-modal am-modal-alert" tabindex="-1" id="my-alert"><div class="am-modal-dialog"><div class="am-modal-hd">\u63d0 \u9192<\/div><div class="am-modal-bd">' + t + '<\/div><div class="am-modal-footer" id="my-alert-done"><span class="am-modal-btn">哈哈<\/span><\/div><\/div><\/div>';
$("body").find("#my-alert").length == 0 ? $(i).appendTo($("body")) : $("#my-alert").find(".am-modal-bd").text(t);
$("#my-alert").modal();
$(".am-modal").css("opacity", 1);
$("#my-alert-done").on("click",
function() {
$(".am-modal").css("opacity", 0);
$(".modal-backdrop").remove();
$(".am-dimmer").remove();
$("#my-alert").remove()
})
}
function i(n) {
var t = "";
t = n ? '<div class="am-modal am-modal-loading am-modal-no-btn" tabindex="-1" id="my-loading"> <div class="am-modal-dialog"> <div class="am-modal-hd">' + n + '<\/div> <div class="am-modal-bd"> <span class="am-icon-spinner am-icon-spin"><\/span> <\/div> <\/div><\/div>': '<div class="am-modal am-modal-loading am-modal-no-btn" tabindex="-1" id="my-loading"> <div class="am-modal-dialog"> <div class="am-modal-hd">呵呵...<\/div> <div class="am-modal-bd"> <span class="am-icon-spinner am-icon-spin"><\/span> <\/div> <\/div><\/div>';
$("body").find("#my-loading").length == 0 ? $(t).appendTo($("body")) : $("#my-loading").find(".am-modal-bd").text(n);
$("#my-loading").modal();
$(".am-modal").css("opacity", 1)
}
function r() {
$(".am-modal").css("opacity", 0);
$(".modal-backdrop").remove();
$(".am-dimmer").remove();
$("#my-loading").remove()
}
function u(n) {
var t = $('<i class="am-icon-spinner am-icon-pulse am-icon-lg" style="position:absolute;left:50%;top:50%"><\/i>');
$(n).append(t)
}
function f() {
$(".am-icon-spinner").remove()
}
function e(n, t) {
var i = '<div class="am-modal am-modal-confirm" tabindex="-1" id="my-confirm"> <div class="am-modal-dialog"><div class="am-modal-hd">' + n + '<\/div><div class="am-modal-bd">' + t + '<\/div> <div class="am-modal-footer"><span class="am-modal-btn" data-am-modal-cancel id="my-confirm-cancel">\u53d6\u6d88<\/span><span class="am-modal-btn" data-am-modal-confirm id="my-confirm-done">嘿嘿<\/span><\/div><\/div><\/div>';
$("body").find("#my-confirm").length == 0 ? $(i).appendTo($("body")) : $("#my-confirm").find(".am-modal-bd").text(n);
$("#my-confirm").modal();
$(".am-modal").css("opacity", 1);
$("#my-confirm-cancel").on("click",
function() {
return $(".am-modal").css("opacity", 0),
$(".modal-backdrop").remove(),
$(".am-dimmer").remove(),
$("#my-confirm").remove(),
!1
});
$("#my-confirm-done").on("click",
function() {
return $(".am-modal").css("opacity", 0),
$(".modal-backdrop").remove(),
$(".am-dimmer").remove(),
$("#my-confirm").remove(),
!0
});
$(".am-modal").css("opacity", 1)
}
function o(n, t) {
var i = '<div class="am-modal am-modal-prompt" tabindex="-1" id="my-prompt"> <div class="am-modal-dialog"><div class="am-modal-hd">' + n + '<\/div><div class="am-modal-bd">' + t + '<input type="text" class="am-modal-prompt-input"><\/div> <div class="am-modal-footer"><span class="am-modal-btn" data-am-modal-cancel id="my-prompt-cancel">嗨嗨<\/span><span class="am-modal-btn" data-am-modal-confirm id="my-prompt-done">\u786e\u5b9a<\/span><\/div><\/div><\/div>';
$("#my-prompt").remove();
$("body").find("#my-prompt").length == 0 ? $(i).appendTo($("body")) : $("#my-prompt").find(".am-modal-bd").text(n);
$("#my-prompt").modal();
$(".am-modal").css("opacity", 1)
}
function s(n, t) {
var i = '<div class="am-modal am-modal-prompt" tabindex="-1" id="my-promptTemplate"> <div class="am-modal-dialog"><div class="am-modal-hd">' + n + '<\/div><div class="am-modal-bd">' + t + '<br/><hr/>\u6807\u9898<input type="text" class="am-modal-prompt-input" placeholder="(\u5fc5\u586b)" id="templateTitle">\u5f71\u50cf\u6240\u89c1<input type="textarea" class="am-modal-prompt-input" placeholder="(\u5fc5\u586b)" id="templateObservation">\u5f71\u50cf\u610f\u89c1<input type="textarea" class="am-modal-prompt-input" placeholder="(\u5fc5\u586b)" id="templateDiagnose"><\/div> <div class="am-modal-footer"><span class="am-modal-btn" data-am-modal-cancel id="my-prompt-cancel">\u53d6\u6d88<\/span><span class="am-modal-btn" data-am-modal-confirm id="my-prompt-done">\u786e\u5b9a<\/span><\/div><\/div><\/div>';
$("#my-promptTemplate").remove();
$("body").find("#my-promptTemplate").length == 0 ? $(i).appendTo($("body")) : $("#my-promptTemplate").find(".am-modal-bd").text(n);
$("#my-promptTemplate").modal();
$(".am-modal").css("opacity", 1)
}
n.alert = t;
n.loading = i;
n.disableLoading = r;
n.startSpinner = u;
n.disableSpinner = f;
n.confirm = e;
n.prompt = o;
n.promptTemplate = s
} (abcapp),
...
abcapp是传参到函数体内,然后执行,按照之前朋友的讲解。那么,请问第一行是什么意思?是否不可替代,必须要加上这第一句,还有什么其他的写法吗?
把程序化简,就很好理解了