In diesem Fall wird boolean Typ beurteilt durch "if".
"! Row [20]" bedeutet, dass es nicht leer ist. Nämlich, es ist "falsch". So bedeutet "Zeile [20]", dass es Daten enthält. Nämlich, es ist "wahr". "rowHasChanged" bedeutet "wahr". "||" und "& &" bedeuten "oder" und "und" der logischen Operatoren.
Durch die Kenntnis aller Muster von "wahr" von "falsch", denke ich, dass Sie über dieses Skript verstehen können. Also hat er den Zustand von "row [20]" und "rowHasChanged" für dieses Skript untersucht. Ein zu untersuchendes Skript ist wie folgt.
Beispielskript 1:
var bol = [true, false];
var row = [];
for (i in bol) {
row[20] = bol[i];
for (j in bol) {
var rowHasChanged = bol[j];
if (!row[20] || (row[20] && rowHasChanged)) {
Logger.log("EXECUTED. (row[20] = %s, rowHasChanged = %s)", row[20], rowHasChanged)
} else {
Logger.log("Not executed. (row[20] = %s, rowHasChanged = %s)", row[20], rowHasChanged)
}
}
}
Ergebnis:
EXECUTED. (row[20] = true, rowHasChanged = true)
EXECUTED. (row[20] = false, rowHasChanged = true)
EXECUTED. (row[20] = false, rowHasChanged = false)
Not executed. (row[20] = true, rowHasChanged = false)
Wenn "rowHasChanged" "wahr" ist unter ungeachtet der "row [20]", "die Befehle in wenn "ausgeführt werden. Wenn "rowHasChanged" "false" ist, nur wenn "row [20]" false ist, werden die Befehle in "if" ausgeführt.
über nächsten Skript,
if ((!row[20] && row[12]=TRUE) || (row[20] && rowHasChanged)) {
Für dieses Skript, ich denke, dass ein Fehler auftritt. Wenn Sie diese verwenden möchten, ändern
if ((!row[20] && row[12] == true) || (row[20] && rowHasChanged)) {
oder
if ((!row[20] && row[12]) || (row[20] && rowHasChanged)) {
Wie oben erwähnt, auch sie für dieses Skript untersucht.
Beispielskript 2:
var bol = [true, false];
var row = [];
for (i in bol) {
row[20] = bol[i];
for (j in bol) {
row[12] = bol[j];
for (k in bol) {
var rowHasChanged = bol[k];
if ((!row[20] && row[12]) || (row[20] && rowHasChanged)) {
Logger.log("EXECUTED. (row[12] = %s, row[20] = %s, rowHasChanged = %s)", row[12], row[20], rowHasChanged)
} else {
Logger.log("Not executed. (row[12] = %s, row[20] = %s, rowHasChanged = %s)", row[12], row[20], rowHasChanged)
}
}
}
}
Ergebnis:
EXECUTED. (row[12] = true, row[20] = true, rowHasChanged = true)
EXECUTED. (row[12] = true, row[20] = false, rowHasChanged = false)
EXECUTED. (row[12] = false, row[20] = true, rowHasChanged = true)
EXECUTED. (row[12] = true, row[20] = false, rowHasChanged = true)
Not executed. (row[12] = true, row[20] = true, rowHasChanged = false)
Not executed. (row[12] = false, row[20] = true, rowHasChanged = false)
Not executed. (row[12] = false, row[20] = false, rowHasChanged = true)
Not executed. (row[12] = false, row[20] = false, rowHasChanged = false)
Wenn dies für Sie hilfreich sein, ich bin froh.