2012-01-24 23 views

回答

3

它基本上是這樣;

var list; 

if (data == null) { 
    list = []; 
} else { 
    if (data.wine instanceof Array) { 
     list = data.wine; 
    } else { 
     list = [data.wine]; 
    } 
} 

它由嵌套ternary operators組成。三元運算符是這種形式;

x ? y : z 

,其評價x,並返回y如果是truthy,否則返回z

0

作爲if-else語句:

if (data == null) 
    list = [];    // list is an empty array now 
else if (data.wine instanceof Array) 
    list = data.wine;  // data.wine is an array; assign it to list 
else 
    list = [data.wine]; // make a new array with data.wine as element 
1
if (data == null) { 
    list = [] 
} else { 
    if (data.wine instanceof Array) { 
     list = data.wine 
    else { 
     list = [data.wine]; 
    } 
} 
0

其條件運算符在JavaScript

條件運算

的JavaScript還包含一個值分配給基於一些條件變量的條件運算符。 語法

variablename=(condition)?value1:value2 

    var variablename; 
    if(condition true){ 
    variablename=value1; 
    } 
    else{ 
    variablename=value1; 
    } 

代碼的評價如下:

var list; 

if (data == null) { 
    list = []; 
} else { 
    if (data.wine instanceof Array) { 
     list = data.wine; 
    } else { 
     list = [data.wine]; 
    } 
} 
+0

謝謝大家。因爲第二個如果其他人感到困惑 – user900276

1

這意味着:

If data is null 
    assign an empty array to list 
else 
    if data.wine is of type Array 
     assign data.wine to list 
    else 
     create an array with data.wine as the only item and assign that array to list 
    end 
end