There is such an object:

var confirmBox = { init: function(type, cn_title = false, btn_close = true, btn_title = "OK") { var title; var CONFIRM_DELETE_PHOTO, CONFIRM_UPDATE_INFO, CONFIRM_ALERT_INFO, CONFIRM_ALERT_ERROR; switch (type) { case CONFIRM_DELETE_PHOTO: title = "Вы действительно хотите удалить фотографию?"; break; case CONFIRM_UPDATE_INFO: title = "Обновить информацию?"; break; case CONFIRM_ALERT_INFO: title = cn_title; break; case CONFIRM_ALERT_ERROR: title = "Произошла ошибка. Повторите попытку позже."; btn_close = false; break; default: break; } this.show(title, btn_close, btn_title); }, show: function(title, btn_close, btn_title) { ... } } 

Which cause so:

 var CONFIRM_ALERT_ERROR; confirmBox.init(CONFIRM_ALERT_ERROR); 

But regardless of the constant, I always have a case CONFIRM_DELETE_PHOTO .

Question

How to implement the correct transfer of a constant to the init function? So that, for example, when passing the CONFIRM_ALERT_ERROR constant, what is specified in the case CONFIRM_ALERT_ERROR executed.

    1 answer 1

    In code

     var CONFIRM_DELETE_PHOTO, CONFIRM_UPDATE_INFO, CONFIRM_ALERT_INFO, CONFIRM_ALERT_ERROR; 

    You declare variables, but do not specify their values.

    You need to make the initialization of "constants" for the function and give them values.

    Example:

     var CONFIRM_DELETE_PHOTO = 1, CONFIRM_UPDATE_INFO = 2, CONFIRM_ALERT_INFO = 3, CONFIRM_ALERT_ERROR = 4; var confirmBox = { init: function(type, cn_title = false, btn_close = true, btn_title = "OK") { var title; switch (type) { case CONFIRM_DELETE_PHOTO: title = "Вы действительно хотите удалить фотографию?"; break; case CONFIRM_UPDATE_INFO: title = "Обновить информацию?"; break; case CONFIRM_ALERT_INFO: title = cn_title; break; case CONFIRM_ALERT_ERROR: title = "Произошла ошибка. Повторите попытку позже."; btn_close = false; break; default: break; } this.show(title, btn_close, btn_title); }, show: function(title, btn_close, btn_title) { ... } } confirmBox.init(CONFIRM_ALERT_ERROR); 
    • yes, really .. Thanks! - Amandi