IE бросает ошибку на if оператор

Я понятия не имею, почему на IE, код сообщает об ошибке. Вот код:

if ($size === null) {
    $sizeFolder = '48x48';
} else $sizeFolder = $size+'x'+$size;

Ошибка заключается в следующем:

SCRIPTING1006: ')' expected

IE установит )здесь как это :

if ($size === null)) {
    $sizeFolder = '48x48';
} else $sizeFolder = $size+'x'+$size;

но это все равно не работает. Почему IE сообщает об ошибке?

вот полный код :

    $.ttMessageBox.getIcon = function ($icon,$size=null) {
  var $_icons = Array('[Information]','[Error]','[Question]','[OK]');
  if ($size === null) {
    $sizeFolder = '48x48';
  } else $sizeFolder = $size+'x'+$size; 
  $result = '';
  $Icon = $_icons.indexOf($icon);
  switch ($Icon) {
    case 0: $result += '<img src="/img/icons/'+$sizeFolder+'/dialog_information.png" />';
              break;
    case 1: $result += '<img src="/img/icons/'+$sizeFolder+'/dialog_error.png" />';
              break;
    case 2: $result += '<img src="/img/icons/'+$sizeFolder+'/dialog_question.png" />';
              break;
    case 3: $result += '<img src="/img/icons/'+$sizeFolder+'/dialog_check.png" />';
              break;
    default: $result += '';
  }
return $result;
}

2 ответа

  1. Ошибка в этой строке:

       $.ttMessageBox.getIcon = function ($icon,$size=null) {
    

    IE не поддерживает значения по умолчанию для параметров функции. Вы не можете иметь =nullбит.

  2. теперь это рабочий код :

    $.ttMessageBox.getIcon = function ($icon,$size) {
      var $_icons = Array('[Information]','[Error]','[Question]','[OK]');
      if (typeof $size === "undefined") {
        $sizeFolder = '48x48';
      } else $sizeFolder = $size+'x'+$size;
    

    спасибо @Luke Woodward