Почему при отправке функции в качестве своиства объекта она сразу выполняется?
Пытаюсь передать в функцию, объект с своиствами из которых несколько переменных и 4 функции КоллБэк - которые в зависимости от результата выполнения будут выполнятся. Однако проблема в том что при передачи функции в качестве своиств объекта они сразу же выполняются. Код вызова функции и сама функция.
var developermode = true;
function ajax(data){
data = typeof data == 'object' ? data : {};
data.object = data.object ? data.object : 'app';
data.action = data.action ? data.action : 'haveinews';
data.async = data.async ? data.async : true;
data.data = data.data ? data.data : {};
data.devor = device.orientation;
data.devty = device.type;
data.devos = device.os;
function successDefault(datas){
if(typeof datas == 'undefined'){
if(developermode)console.log(data);
if(developermode)console.log(datas);
}else
if(typeof datas == 'object'){
if(developermode)console.log(datas);
if(typeof datas.message != 'undefined'){
alerts(datas.status,datas.message);
}else{
}
}
};
function existsDefault(datas){
if(typeof datas == 'undefined'){
if(developermode)console.log(data);
if(developermode)console.log(datas);
}else{
if(typeof datas == 'object'){
if(developermode)console.log(datas);
if(typeof datas.message != 'undefined'){
alerts('warning',datas.message);
}else{
}
}
}
}
//var exists = typeof data.exists == 'function' ? data.exists : function(datas){
$.ajax({
type:'POST',
data: data,
async: data.async,
success: function(datas){
if(IsJsonString(datas)){
datas = JSON.parse(datas);
if(typeof datas.status !='undefined'){
//console.log(datas.status);
if(datas.status == 'success'){
if(typeof data.success == 'function'){
console.log('success function are executed: '+datas.status);
data.success(datas);
}else{
successDefault(datas);
}
}else{
if(typeof data.exists == 'function'){
console.log('exists function are executed: '+datas.status);
data.exists(datas);
}else{
existsDefault(datas);
}
}
}else{
if(developermode)console.log(datas);
}
}else{
if(datas == "Dont have permision for this site."){
function lockscreen(){
lockscreenUserSession();
let success = function(d){console.log('success1');},
exists = function(d){console.log(d);},
success2= function(d){console.log('success2');},
ex = function(){console.log('ex')};
$('.card-user-logout button[id=button-addon2]').on('click',function(){
ajax({
action:'login',
email:$('.card-user-logout [id=useremail]').text(),
password:$('.card-user-logout input[aria-label=Password]').val(),
devos:device.os,
devor:device.orientation,
devty:device.type,
//success:function(datas){removeLockscreenUserSession();}
success:success,
success2:success2,
exists:exists,
ex:ex
});
})
}
lockscreen();
}else{
if(developermode)console.log(datas);
if(developermode)console.log(typeof datas);
}
}
//console.log(datas);
},
error: function(xhr){
if(developermode)console.log(xhr);
}
})
}
вот здесь моя проблема: функция lockscreen();
success:success,
success2:success2,
exists:exists,
ex:ex
при запуске функции lockscreen(); выполняются все 4 функции а потом как было задуманно то что нужно...