Rol*_*and 0 javascript console jquery function
我有以下功能:
var appendStructure = {
init : function(wrapper,structure,cls,callback) {
$(wrapper).appendTo(container).hide()
var object = $(container).find(cls);
$(structure.join('')).appendTo(object);
showObj(object,function() {
if(opts.centerObj == true) {
$(window).resize(function() {
var cssProps = getProps(object);
object.css(cssProps);
});
}
if(typeof callback == 'function') {
callback();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
以及在其中调用的其他函数:
var getProps = function(obj) {
return {
'position' :'absolute',
'top' : (($(window).height() - $(obj).outerHeight()) / 2)+'px',
'left' : (($(window).width() - $(obj).outerWidth()) / 2)+'px'
}
}
var showObj = function(obj,callback) {
return setTimeout(function () {
if(opts.centerObj == true) {
var cssProps = getProps(obj);
obj.css(cssProps).fadeIn('slow');
}
else {
obj.fadeIn('slow');
}
if(typeof callback == 'function') {
callback();
}
}, 1500);
}
Run Code Online (Sandbox Code Playgroud)
我运行这样的函数:
if(appendStructure.init(wrapper.login,structure.login,'.content-login')){
console.log('Object Appended');
}
else {
console.log('Error');
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么控制台输出Error,因为功能实际工作,并且假设发生的一切都发生了?
appendStructure.init没有return任何价值,因此返回值将是undefined.undefined求值为false,所以执行语句的else分支if...else.