表达式的概念:将同类型的数据(如常量、变量、函数等),用运算符号按一定的规则连起来的、有意义的式子称为表达式

一、原始表达式

  最简单的表达式,是表达式的最小单位。JavaScript中的原始表达式包含常量或直接量、关键字和变量

  1.直接量:

    1.23  //数字直接量

    “hello”  //字符串直接量

    /pattern/  //正则表达式直接量

  2.关键字:

     true  //返回一个布尔值:真

     false  //返回一个布尔值:假

     null  //返回一个值:空

     this  //返回“当前”对象

  3.变量:

     i   //返回变量i的值

     sum    //返回sum值

     undefined     //undefined是全局变量,和null不同,他不是一个关键字

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

  对象和数组初始化表达式实际上是一个新创建的对象和数组。这些初始化表达式有时称作“对象直接量”和“数组直接量”

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

    []   //一个空数组

    [1,5+6]   //拥有两个元素的数组

   这些表达式也可以嵌套   比如:var  arr  =  [[1,2,3],[4,5,6],[7,8,9]]

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

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

    var p = {x:2,y:-1.2}    // 一个拥有两个属性成员的对象

    var q = {}    //一个空对象

    对象直接量也可以嵌套  如:var  reactangle = {upperLeft:{x:2,y:2},lowerRight:{x:4,y:5}}

三、函数定义表达式

  函数定义表达式定义一个JavaScript函数。表达式的值是这个新定义的函数。从某种意义上讲,函数定义表达式可称为“函数直接量”,毕竟对象初始化表达式成为“对象直接量”。一个典型的函数定义表达式包含关键字function,跟随其后的是一对圆括号,括号内是一个以逗号分割的列表,列表含有0个或多个标识符(参数名),然后再跟随一个由花括号包裹的JavaScript代码段(函数体)

  如:  var square = function(x) {return x*x}  //这个函数返回传入参数值得平方

函数定义表达式可以包含函数的名字。函数也可以通过函数语句来定义,而不是函数表达式。

四、属性访问表达式

  属性访问表达式运算得到一个对象属性或一个数组元素的值。JavaScript为属性访问定义两种语法:

      expression.identifier

      expression[expression]

  第一种写法是一个表达式后跟随一个句点和标识符。表达式指定对象,标识符指定需要访问的属性名称

  第二种写法是使用方括号,方括号是另外一个表达式(这种方法适用于对象和数组)

五、调用表达式

  JavaScript中的调用表达式是一种调用(或者执行)函数或方法的语法表示。它以一个函数表达式开始,这个函数表达式只带了要调用的函数。函数表达式后跟随一对圆括号,括号内饰一个以逗号隔开的参数列表,参数可以有0个也可以有多个,列如:

    f(0)  //  f  是一个函数表达式,0是一个参数

    Math.max(x,y,z)   //  Match.max是一个函数, x,y,z是参数

    a.sort()   //  a.sort是一个函数,没有参数

当对调用表达式进行求值的时候,首先计算函数表达式,然后计算参数表达式,得到一组参数值。如果函数表达式的值不是一个可调用的对象,则抛出一个类型错误异常,然后实参的值一次赋值给形参,这些形参是定义函数式指定的,接下来开始执行函数体,如果函数使用return语句给出一个返回值,那么这个返回值就是整个调用表达式的值。否则,调用表达式的只就是undefined。函数调用---包括形参表达式的个数和函数定义中实参的个数不匹配的时候运行

六、对象创建表达式

  对象创建表达式创建一个对象并调用一个函数(这个函数称做构造函数)初始化新对象的属性。对象创建表达式和函数调用表达式类似,只是对象创建表达式之前多了一个关键字new:

    new  Object()

    new Potint(2,3)

未完待续......

JavaScript 基础知识 表达式和运算符的更多相关文章

  1. 菜鸟笔记:javascript基础之表达式和运算符

    4.1 原始表达式 原始表达式是最简单的表达式~它不再包含其他表达式.它包含:直接量(程序中直接显示出来的数据值.)常量(程序中不会被修改的量)变量. 4.2 对象和数组的初始化表达式 对象和数组初始 ...

  2. Javascript学习2 - Javascript中的表达式和运算符

    原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...

  3. 【JavaScript 从零开始】表达式和运算符(1)

    原始表达式 最简单的表达式是"原始表达式"(primary expression).JavaScript中的原始表达式包含常量或直接量.关键字和变量. // 常量或直接量 1.23 ...

  4. 【JavaScript 从零开始】表达式和运算符(2)

    in运算符 in运算符希望它的左操作数是一个字符串或可以转换为字符串,希望它的右操作数是一个对象. 如果右侧的对象拥有一个名为做操作数值的属性名,那么表达式返回true,例如: var point= ...

  5. Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句

    第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...

  6. JavaScript深入浅出补充——(一)数据类型,表达式和运算符

    项目基本做完,在进行下一阶段学习之前先看视频学习回顾一下JavaScript 一.数据类型 JavaScript中有五种原始类型和一种对象类型 JavaScript弱类型语言中隐式转换 num-0 字 ...

  7. 笔记《JavaScript 权威指南》(第6版) 分条知识点概要3—表达式和运算符

    [表达式和运算符]原始表达式,初始化表达式(对象和数组的),函数定义表达式,属性访问表达式,调用表达式,对象创建表达式,运算符概述,算术表达式,关系表达式,逻辑表达式,赋值表达式,表达式计算,其他运算 ...

  8. Python基础0:变量 赋值 表达式和运算符

    变量: 前面我们在使用print()输出内容的时候,如果内容很长,后面要再次输出的时候,就需重新在输入一遍. 如果给输出的内容起个简单的别名.这样我们用简短的别名来代替长内容,下次要输出的时候就直接使 ...

  9. Python3基础-表达式和运算符

    表达式和运算符 什么是表达式? 1+2*3就是一个表达式,这里的加号和乘号叫做运算符,1.2.3叫做操作数. 1+2*3经过计算后得到的结果是7,我们可以将计算结果存放在一个变量里,result=1+ ...

随机推荐

  1. Kitto2 now with free opensource Kide2 since September 2017(提供Web解决方案,大概是觉得Mobile开发快差不多了)

    Kitto2 is a tool for data-driven web application Development. It allows to create Rich Internet Appl ...

  2. Python 实现 淘宝秒杀 聚划算 自己主动提醒 源代码

    说明 本实施例可以监视一起购买的成本button,当警报济济一堂花费时间整点到达(音频文件自定义位置)而自己主动跳出页面(URL习惯). 同一时候还能够通过命令行參数自己定义刷新间隔时间(默认0.1s ...

  3. WPF ListBox的内容属性Items

    <Window x:Class="XamlTest.Window3"        xmlns="http://schemas.microsoft.com/winf ...

  4. ORM 集合

    1.EF   https://github.com/aspnet 2.Chloe.ORM http://www.cnblogs.com/so9527/p/5809089.html http://www ...

  5. 扩展ASCII码,不同的国家有不同的字符集。Unicode转换为utf8的规则,utf8没有大小端的问题。超过0xFFFF的Unicode字符WINAPI也无能为力(附各种字符编码表及转换表)good

    一.概念 1,ASCII             ASCII(American Standard Code for Information Interchange),中文名称为美国信息交换标准代码.是 ...

  6. WPF扩展标记X:STATIC

    原文:WPF扩展标记X:STATIC public class XStaic     {         public static string Content = "确定"; ...

  7. Win10《芒果TV》商店版更新v3.2.1:优化手机版卡顿,修复推送故障

    此版本是小版本更新,主要是修复上一版本发布后暴露的部分体验问题,以免进一步扩大影响,小幅修复后更新上线. 芒果TV UWP V3.2.1更新内容清单: 1.优化和修复列表预加载机制的本地保存丢失导致的 ...

  8. C#高性能大容量SOCKET并发(七):协议字符集

    原文:C#高性能大容量SOCKET并发(七):协议字符集 UTF-8 UTF-8是UNICODE的一种变长字符编码又称万国码,由Ken Thompson于1992年创建.现在已经标准化为RFC 362 ...

  9. Java虚拟机性能监控与调优实战

    From:  https://c.m.163.com/news/a/D7B0C6Q40511PFUO.html?spss=newsapp&fromhistory=1 Java虚拟机性能监控与调 ...

  10. C++字符串的操作(简单全面)

    void *memccpy (void *dest, const void *src, int c, size_t n); 从src所指向的对象复制n个字符到dest所指向的对象中.如果复制过程中遇到 ...