Ein Ausdruck ist eine Phrase in JavaScript, und der JavaScript-Interpreter wertet sie aus, um ein Ergebnis zu erzeugen. Konstanten, Variablennamen, Array-Zugriff usw. im Programm sind alles Ausdrücke
Die häufigste Methode zum Kombinieren einfacher Ausdrücke zu komplexen Ausdrücken ist die Verwendung von Operatoren (Operatoren)
Originalausdruck
ist der einfachste Ausdruck und der „primäre Ausdruck“. Ist die kleinste Ausdruckseinheit. ———— Es sind keine anderen Ausdrücke enthalten. Konstanten, Literale, Schlüsselwörter und Variablen sind allesamt primitive Ausdrücke
1.23 "hello" /pattern/ true false null this i sum undefined
Initialisierungsausdrücke für Objekte und Arrays
Initialisierungsausdrücke für Objekte und Arrays sind eigentlich neu erstellte Objekte und Arrays, diese Ausdrücke sind manchmal auch „Objektliterale“ und „Arrayliterale“ genannt!
[] [1+2, 3+4] var sparseArray = [1,,,,,5] // 数组分割逗号之前的元素可以省略,空位默认填充 undefined var matrix = [[1,2,3], [4,5,6], [7,8,9]] var p = { x: 2.3, y: -1.2} var q = {} q.x = 2.3; q.y = -1.3
Funktionsdefinitionsausdruck
var square = function(x) { return x*x }
Attributzugriffsausdruck
// expression.identifier // expression[expression] var o = { x:1, y:{z:3} }; var a = [0, 4, [5, 6]]; o.x // => 1 表达式 o 的 x 属性 o.y.z // => 3 表达式 o.y 的属性 z o["x"] // => 1 对象 o 的 x 属性 a[1] // => 4 表达式 a 中索引为 1 的元素 a[2]["1"] // => 6 表达式 a[2] 中索引为 1 的元素 a[0].x // => 1 表达式 a[0] 的 x 属性 /*不管使用哪种形式的属性访问表达式,在「.」和「[」 之前的表达式总是会首先计算。如果计算结果是 null 或者 undefined,表达式会抛出一个类型错误异常,因为这两个值都不能包含任意属性。如果运算结果不是对象(或者数组),JavaScript 会将其转换为对象。如果对象表达式后跟随一对方括号,则会计算方括号内的表达式的值并将它转换为字符串,不论哪种情况,如果命名的属性不存在,那么整个属性访问表达式的值就是 undefined */