Eğer JavaScript fakültatif fonksiyon argümanları ilan edebilir?

4 Cevap php

Gibi php yapabilirsiniz

<?php
function whatever($var='') {

}
?>

Eğer javascript bunu yapabilir?

4 Cevap

Javascript içinde ne olursa olsun parametrelerin bir işlevi çağırabilirsiniz.

Diğer bir deyişle, bu gibi bir işlevi ilan etmek tamamen yasaldır:

 function func(par1, par3) {

   //do something
  }

ve bu gibi diyoruz:

 func();

Eğer argüman için bir 'default' değerini ayarlamak istiyorsanız, bunu şöyle yapabilirsiniz:

function whatever(arg1) {
  arg1 = arg1 || 'default value';
}

Arg1 null, undefined, 0 gibi herhangi bir falsy değer içeriyorsa, 'varsayılan değer' set olacağını aklınızda bulundurun false, NaN veya sıfır uzunlukta dize "".

Ayrıca JavaScript fonksiyonları size, bu nedenle bile aradığınızda giriş bağımsız olmayan bir işlev bildirmek, ve, bir işlev geçirilen argümanlarını içeren bir dizi benzeri bir nesne arguments bir nesne var o, bunu bazı iletebilirsiniz:

function whatever() {
  var arg1 = arguments[0];
}

whatever('foo');

Edit: bir varsayılan değer ayarlamak için bu @bobbymcr yorum olarak, siz de böyle bir şey yapabileceğini, gerçekten tanımsız yalnızca:

function whatever(arg1) {
  arg1 = arg1 === undefined ? 'default value' : arg1;
}

Ben doğrudan bunu yapabileceğimi sanmıyorum, ama bunu başarmak için yolu vardır. JavaScript bir işlev çağrısından parametreleri atlayabilirsiniz sağlayan yana bir parametre tanımsız ise, kontrol edebilir ve eğer öyleyse bunu varsayılan bir değer vermek:

function DoSomething(x, y, z)
{
    // set default values...

    if (typeof x == "undefined")
    {
        x = 5;
    }

    if (typeof y == "undefined")
    {
        y = "Hi";
    }

    if (typeof z == "undefined")
    {
        z = 3.14;
    }

    // ...
}

Sen parametresi eksik olduğunda varsayılan değerler atanmış olsun görmek için aşağıdaki şekillerde arama deneyebilirsiniz:

DoSomething();
DoSomething(4);
DoSomething(4, "X");
DoSomething(4, "X", 7.77);

Varsayılan argümanlar JS gerekli değildir. $ Arg ='' uygulanması için kullanabilirsiniz

function whatever(vars) {  
   vars = vars || 'default';  
   /* your code */    
}