2017-01-31 3 views
0

Ich kam vor kurzem über eine Tabelle mit App-Skript, um Schlüssel eines doGet angeforderten Daten zu sammeln.Was bedeutet var "header_row || 1" im App Script?

Es gibt eine Zeile in dem Code wie folgt aussieht:

var headRow = e.parameter.header_row || 1; 

Was bedeutet das?

Ich habe im App-Skript Docs nach "header_row" ausgecheckt. Und "header_row" ist auch keine Variable, da vorher nichts deklariert wurde. Und was bedeutet letzter Charakter (..... || 1)?

Hier ist der große Auszug des Codes, falls Sie es brauchen:

var SCRIPT_PROP = PropertiesService.getScriptProperties(); // neue Immobilien Service

function doGet(e){ 
       var doc = SpreadsheetApp.openById(SCRIPT_PROP.getProperty("key")); 
       var sheet = doc.getSheetByName(SHEET_NAME); 
       var headRow = e.parameter.header_row || 1; 
       var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]; 
       // doing something here 
       } 
+0

Wenn 'e.parameter.header_row' nicht deklariert ist, was ist der Wert von' headRow'? Hast du versucht, den Wert zu überprüfen? –

Antwort

1
var headRow = e.parameter.header_row || 1; 

diese Zeile, die Header-Tabelle (Name Zeile) geht davon ist in Zeile 1, aber Sie können mit header_row in GET/POST-Daten überschreiben, dh Sie header_row Parameter in GET sned kann/POST-Anforderung zum Überschreiben der Standardeinstellung

.... ||1 

Dies bedeutet, Header aus Zeile Nr. Zu extrahieren. 1, wenn Sie tun werden ..||2 Zeile Nummer 2 wird für den Header verwendet werden.

Erklärung ist einfach, wenn Ausdruck vor || gültig ist, wird dann dieser Wert auf die Variable sonst Expression nach ||

0
var headRow = e.parameter.header_row || 1; 

Dieser Code zugewiesen werden, bedeutet, dass e.parameter ein Objekt ist und im Inneren dieses Objekt header_row Eigenschaft könnte definiert werden oder nicht. Wenn die Eigenschaft header_row definiert ist und ihr Wert entweder false, 0, "" oder undefined ist, wird ihr Wert headRow Variable zugewiesen. Sonst headRow = 1