Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Функция и переменные (https://javascript.ru/forum/misc/27127-funkciya-i-peremennye.html)

wcb-falcon 03.04.2012 17:51

Функция и переменные
 
Хотел спросить возможно ли в javascript написать функцию также как в php
точнее вот пример на php:
function abc ($a, $b, $c='100') {
$x= $a+$b*$c;
return $x;
}
$r1 = abc (2, 2); // результат 202
$r2 = abc (2, 2, 10); // результат 22


а хотел тоже самое сделать на javascript и в итоге получил ошибку :(
function abc (a, b, c='100') {
var x = a+b*c;
return x;
}
var r1 = abc (2, 2); // результат должен быть 202
var r2 = abc (2, 2, 10); // результат должен быть 22


Поясните кто знает возможно ли такое и если да то как?

dmitriymar 03.04.2012 19:06

function abc (a, b, c)
 {
  c=c||100;
  var x = a+b*c;
  return x;
}
alert(r1 = abc (2, 2)); 
alert(r2 = abc (2, 2, 10));

melky 03.04.2012 19:50

Цитата:

Сообщение от dmitriymar (Сообщение 166759)
function abc (a, b, c)
 {
  c=c||100;
  var x = a+b*c;
  return x;
}
alert(r1 = abc (2, 2)); 
alert(r2 = abc (2, 2, 10));

function abc (a, b, c)
 {
  c=c||100;
  var x = a+b*c;
  return x;
}
alert( abc( 2,4,0 ) );
// ожидания :
//     2 + 4*0 == 2
// реальность 
//     2 + 4*100 == 402


исправленный вариант :
function abc(a,b,c){
    if(typeof c == 'undefined')
          c = 100;
    var x = a + b*c;
    return x;
}
alert( abc(2,4,0) );

wcb-falcon 03.04.2012 23:44

Всем спасибо за подсказки и решение проблемы очень выручили.


Часовой пояс GMT +3, время: 05:57.