JavaScript 两个最重要的概念表达式和语句
表达式概念:An expression is a phrase of JavaScript that a JavaScript interpreter can evaluate to produce a a value.
表达式的分类:
1.Primary Expressions
1 "hi word" 2 /pattern/ 3 4 //some of JavaScript reserved word are primary expressions 5 true 6 false 7 null 8 this //Evaluates to the "current" object 9 10 //finally the third type of primary expressions is the bare variable reference 11 I 12 sum 13 undefined // undefined is a global variable ,not like null. View Code2.Object and Array Initalizers
1 // Array initializer 2 [1,5,2,6,5] 3 4 // Object initializer 5 {x:2,y3} View Code3. Function Definition Expressions
1 //*function expression 2 function(x) { return x*x } 3 4 //* function statement 5 function foo(){ 6 console.log("bar"); 7 }; View Code4.Property Access expression & Invoication expression & Object Creation expression
1 //Property Access expression 2 var o={x:1,y:{z:3}} 3 var a=[o,1,4,[5,6]] 4 5 o.x //property x of expression o 6 o["y"] //property x of expression o 7 a[1] //element at index 1 of object o 8 a[0].x // property x of expression a[0] 9 10 //Invocation expression 11 foo(1,2) 12 a.sort() 13 Math.max(x,y,z) 14 15 //object creation expression 16 new Object() 17 new Point(2,3) View Code5.Arithmetic Expression & Logical Expression & Assignment Expression
1 //Arithmetic 2 1+1 3 2*5 4 3-4 5 6%9 6 5-- 7 6++ 8 9 //Logical 10 7&8 11 7<<2 12 ^0x0f 13 // Assignment 14 I=6 15 o.x=2 16 17 x +=x+1 18 ....... View Code语句概念:statements are JavaScript sentences or commands;Expressions are evaluated to produce a value, but statements are executed to make something happen.
语句的分类:
Statement Syntax Purposebreak break [label]; Exit from the innermost loop or switch or from named enclosing statementcase case expression: Label a statement within a switchcontinue continue [label]; Begin next iteration of the innermost loop or the named loopdebugger debugger; Debugger breakpointdefault default: Label the default statement within a switchdo/while do statement while (expression); An alternative to the while loopempty ; Do nothing for for(init; test; incr) statement An easy-to-use loopfor/in for (var in object) statement Enumerate the properties of objectfunction function name([param[,...]]) { body } Declare a function named nameif/else if (expr) statement1 [else statement2] Execute statement1 or statement2label label: statement Give statement the name labelreturn return [expression]; Return a value from a functionswitch switch (expression) { statements } Multiway branch to case or default: labelsthrow throw expression; Throw an exceptiontry try { statements } Handle exceptions [catch { handler statements }] [finally{ cleanup statements }] use strict use strict; Apply strict mode restrictions to script or functionvar var name [ = expr] [ ,... ]; Declare and initialize one or more variableswhile while (expression) statement A basic loop constructwith with (object) statement Extend the scope chain (forbidden in strict mode)