オンラインでいくつかの例を見た後、2 つの異なる説明を集めました。
例: var x = A || B;
- A が存在し、B が存在しない場合、左側が返されます。
- A が存在し、B が存在する場合、右辺 (最後に評価された値) を返します。
その論理に基づいて、 x が返すと仮定します: v.item(0).click()
。しかし、それをテストするとき、x は最初に B を返し、次に A を返しました。なんで?( http://jsfiddle.net/nysteve/QHumL/59/ )
HTML:
<div class="indeed-apply-button" onclick="alert('BOOM BUTTON');">boo</div>
<div class='view_job_link' onclick="alert('BOOM LINK');">boo</div>
JavaScript
var v = document.getElementsByClassName('view_job_link');
var i = document.getElementsByClassName('indeed-apply-button');
var x = v.item(0).click() || i.item(0).click();
編集 1:02 PM 10/10/2013
私の本当の意図については言及しませんでしたが、回答と議論に基づいて、私の目標は基本的に次のコードを最初に言及した JavaScript コードに変換することでした。
var v = document.getElementsByClassName('view_job_link');
var i = document.getElementsByClassName('indeed-apply-button');
if(v){v.item(0).click();}
else if(i){i.item(0).click();}
else{}
if(v){v.item(0).click();}
上記のコードでは、短絡に対してどのように読みますか?