javascript - Can't get else if condition to work with image in JS -


i trying make image appear when 3 conditions met bmw image displayed. can't seem see why else if doesn't work, maybe looked @ long. searched other way didn't find.

var name = prompt("hello there, what's name?"); var car = new array("bmw", "maserati"); var randomcar = math.floor(math.random()*car.length); var carname = car[randomcar];  if(name === "frank" || name === "chris" && carname === "bmw") {   document.getelementbyid("name").innerhtml = "<h1>hello " + name + " have won " + carname + "<br><br>" + "<img src='img/bmw.jpg' alt='bmw pic' style='border-radius: 10px;'</h1>"; } else if (name === "frank" || name === "chris" && carname === "maserati") {   document.getelementbyid("name").innerhtml = "<h1>hello " + name + " have won " + carname + "<br><br>" + "<img src='img/maserati.jpg' alt='maserati pic' style='border-radius: 10px;'</h1>"; } else {   document.getelementbyid("name").innerhtml = "<h1>hello " + name + ", no car today !!" + "<br><br>" + "<img src='img/pitbull-sad-face.jpg' alt='dog sadface' style='width: 70%; border-radius: 20px;'</h1>"; }; 

the tested expression in if statement:

(name === "frank" || name === "chris" && carname === "bmw") 

is evaluated if written:

(name === "frank" || (name === "chris" && carname === "bmw")) 

that is, && part evaluated such test succeed if name "frank" or if name "chris" , car name "bmw". if name "frank", car name doesn't matter; matters when name "chris".

if want name matter, have explicitly parenthesize 2 tests name:

((name === "frank" || name === "chris") && carname === "bmw") 

now succeed if name either "frank" or "chris" and if car name "bmw".


Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -