javascript ile isset ifadesi olur?

4 Cevap php

Php Ben bir değişken ayarlanmış olup olmadığını görmek için bu kullanabilirsiniz ve daha sonra bu değeri kullanın, aksi takdirde bunu bir sıfır olur:

    $pic_action = isset($_POST['pic_action']) ? $_POST['pic_action'] : 0;

Ancak javascript eşdeğer nedir?

Burada ben bugüne kadar ne var, bir eleman belgede olup olmadığını kontrol edin, ve sonra eğer, değişken eklemek, aksi halde buna diğer bazı değer eklemek istiyorum:

    var areaOption = document.getElementById("element");

Teşekkürler

4 Cevap

Varsa bir şey değil-null ve - document.getElementById("element") eleman yoksa null dönecektir.

Hangi böyle bir şey yapmak gerekir demektir:

var areaOption = document.getElementById("element");
if (areaOption) {
    // element exists
} else {
    // element doesn't exist
}

(Ayrıca, bunun yerine olmayan falsy ise sadece kontrol, null ile areaOption karşılaştırabilirsiniz)

isset() değişkeni tanımlanmış ve boş olup olmadığını kontrol eder. Javascript kapsam kuralları değişken tanımlı olup olmadığını kontrol, PHP farklı olmak zordur. Eğer, diğer yandan, bir boş olup olmadığını belirlemek için:

if (areaOption === null) areaOption = ... ; 

Sonra, orada tembel değerlendirme kullanarak klasik JavaScript deyim ||:

areaOption = areaOption || ... ;

İkincisi sağ bölümünde değerlendirilecektir anlamına gelir, bu false eşdeğerdir sadece eğer olmak değişken boş kontrol değer tanımlanmış (ve bu bile 0 değil Eğer geçerli olmak türleri güvenmek durumunda veya ''), hangi güvensiz olabilir.

Ben ne başarmak için çalışıyoruz böyle bir şey olduğuna inanıyorum:

var dummy = null;
var areaOption = (dummy = document.getElementById("element")) ? dummy.value : 0;

Daha ayrıntılı bir yaklaşım:

var c = document.getElementById("a") ? document.getElementById("a") : "b";

Ya da kısa bir versiyonu:

var c = document.getElementById("a") || "b";


If you want to access a property, say innerHTML, on a given element, if the element exists; the first example can be re-written, like so:

var c = document.getElementById("a") ?
    document.getElementById("a").innerHTML /*element exists: return innerHTML*/ :
    "" /*element does not exist: return nothing*/;

... Yorumların olmadan:

var c = document.getElementById("a") ?
        document.getElementById("a").innerHTML :
        "";