表达式

作者: 懒人如巍 | 来源:发表于2018-06-04 17:23 被阅读0次

原始表达式

最简单的表达式是“原始表达式”。
原始表达式是表达式的最小单位,它们不再包含其他表达式。
js中原始表达式包含常量或直接量、关键字和变量。

原始表达式一:直接量

直接量是直接在程序中出现的常数量。

1.23 //数字直接量
"hello"  //字符串直接量
/pattern/   // 正则表达式直接量
原始表达式二:保留字

js中一些保留字构成了原始表达式

true    //返回一个布尔值true
false  //返回一个布尔值false
null   //返回一个值:空
this   //返回“当前”对象

this并不是一个常量,它在程序的不同地方返回的值也不相同。this关键字经常在面向对象编程中出现。在一个方法体内,this返回调用这个方法的对象。

原始表达式三:变量
i    //返回变量i的值
sum  // 返回sum的值
undefined  //undefined是全局变量,和null不同,它不是一个关键字

对象和数组的初始化表达式

对象和数组初始化表达式实际上是一个新创建的对象和数组。
这些初始化表达式有时称做“对象直接量”和“数组直接量”。
然而和布尔直接量不同,它们不是原始表达式,因为它们所包含的成员或者元素都是子表达式。

数组

数组初始化表达式是通过一对方括号和其内由逗号隔开的列表构成的。初始化的结果是一个新创建的数组。

[]    //一个空数组
[1,2,3,4]   //拥有4个元素的数组

数组初始化表达式中的元素初始化表达式也可以是数组初始化表达式。
也就是说,这些表达式是可以嵌套的。

var arr = [
            [1,2,3],
            [4,5,6],
            [7,8]
];

js对数组初始化表达式进行求值的时候,数组初始化表达式中的元素表达式也都会各自计算一次。
也就是说,数组初始化表达式每次计算的值有可能是不同的。

数组直接量中的列表逗号之间的元素是可以省略的,这时省略的空位会填充undefined。

var arr = [1,,,,5];  //[1,undefined,undefined,undefined,5];

数组直接量的元素列表结尾处可以留下单个逗号,这时并不会创建一个新的值为undefined的元素。

对象

对象初始化表达式和数组初始化表达式非常类似,只是方括号被花括号代替,并且每个子表达式都包含一个属性名和一个冒号作为前缀

var obj1 = {};  //一个空对象
var obj2 = {x:1,y:2};  // 一个拥有两个属性成员的对象

对象直接量也可以嵌套

var obj = {
            obj1:{x:1,y:2},
            obj2:{x:3,y:4}
};

js求对象初始化表达式的值的时候,对象表达式也都会各自计算一次,并且它们不必包含常数值:它们可以是任意js表达式。
同样,对象直接量中的属性名称可以是字符串而不是标识符(这在那些只能使用保留字或一些非法标识符作为属性名的地方非常有用)

var aa = 1;
var ss = {
          "obj1":{x:123,y:456},
          "obj2":{x:1,y:2}
};

相关文章

  • Twig表达式

    Twig 表达式分为字面表达式、数学表达式、逻辑表达式、比较表达式、包含表达式、测试表达式、字符串插值表达式及其它...

  • php第五天--基本函数

    for变形格式for (表达式1; 表达式2; 表达式3) {循环体} 表达式1;for (; 表达式2; 表达式...

  • Python推导式(列表推导式、元组推导式、字典推导式和集合推导

    列表表达式 元祖表达式 字典表达式 集合表达式

  • 表达式

    原始表达式 最简单的表达式是“原始表达式”。原始表达式是表达式的最小单位,它们不再包含其他表达式。js中原始表达式...

  • 三元运算符

    基本格式 :(关系表达式) ? 表达式1 : 表达式2;执行流程 :关系表达式为 [真] 返回表达式1关系表达式为...

  • for循环

    for(表达式1;表达式2;表达式3){ //循环操作(输出) } 表达式1:循环变量的声明表达式.(a=...

  • daily -- mysql 基础 分支语句( if and

    if函数 语法:IF(表达式1,表达式2,表达式3); 如果表达式1成立(true),返回表达式2的值;如果表达式...

  • 表达式树

    表达式树中缀表达式转换为后缀表达式后缀表达式总结

  • linux 中 if 语句条件的含义

    文件表达式 整数变量表达式 字符串变量表达式 if [ 表达式1 –o 表达式2 ]

  • thymeleaf(三) ____基本语法

    变量表达式 ${...}选择变量表达式 * {...}消息表达式 #{...}链接网址表达式 @{.....

网友评论

      本文标题:表达式

      本文链接:https://www.haomeiwen.com/subject/wrbrsftx.html