返回顶部
首页 > 资讯 > 前端开发 > node.js >JavaScript中的表达式是什么
  • 878
分享到

JavaScript中的表达式是什么

2024-04-02 19:04:59 878人浏览 薄情痞子
摘要

今天给大家介绍一下javascript中的表达式是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。在JavaScript中

今天给大家介绍一下javascript中的表达式是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。

在JavaScript中,表达式是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合;表达式可分为两种:原始表达式和复杂表达式。

教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

  一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句。但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression)。本文将详细介绍javascript表达式

什么是表达式?

表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。

javascript表达式分为原始表达式和复杂表达式

原始表达式(primary exression)

  原始表达式是表达式的最小单位——它不再包含其他表达式

  原始表达式分为字面量、关键字和变量;详细来说包括this关键字、标识符引用、字面量引用、数组初始化、对象初始化和分组表达式

PrimaryExpression : 
this Identifier 
Literal 
ArrayLiteral 
ObjectLiteral 
( Expression )

this关键字和标识符

this;//返回当前对象
i;//返回变量i的值
sum;//返回变量sum的值

字面量

  字面量(literal),又翻译成直接量,就是程序中直接使用的数据值

Literal ::
   NullLiteral
   BooleanLiteral
   NumericLiteral
   StringLiteral 
   RegularExpressionLiteral
null;
undefined;
true;
false;
1;
'abc';
/pattern/;

数组和对象初始化

  数组初始化和对象初始化实际上是一个以字面量的方式描述的初始化的过程。这两个初始化表达式有时称做"对象字面量"和"数组字面量"

[];
[1,2,3];
{};
{a:1};

分组表达式

  分组表达式实际上就是括号,用于重写运算符的优先级

复杂表达式(MemberExpression)

  复杂表达式由原始表达式和操作符(operator)组合而成,包括属性访问表达式、对象创建表达式和函数表达式

MemberExpression : 
MemberExpression [ Expression ] 
MemberExpression . IdentifierName 
new MemberExpression Arguments
FunctionExpression

属性访问表达式

  属性访问表达式运算可以得到一个对象属性或一个数组元素的值,javascript为属性访问定义了两种语法

MemberExpression . IdentifierName 
MemberExpression [ Expression ]

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

  第二种写法是使用方括号,方括号内是另外一个表达式(这种方法适用于对象和数组)。第二个表达式指定要访问的属性的名称或代表要访问数组元素的索引

var o = {x:1,y:{z:3}}; //对象字面量
var a = [o,4,[5,6]]; // 包含对象的数组字面量
o.x;//表达式o的x属性
o.y.z;//表达式o.y的z属性
o['x'];//对象o的x属性
a[1];//表达式a中索引为1的元素

  不管使用哪种形式的属性访问表达式,在'.'和'['之前的表达式总是会首先计算

  如果计算结果是null或undefined,表达式会抛出一个类型错误异常,因为这两个值都不能包含任意属性

  如果计算结果不是对象,javascript会将其转换为对象

  如果对象表达式后跟随句点和标识符,则会查找由这个标识符指定的属性值,并将其作为整个表达式的值返回

  如果对象表达式后跟随一对方括号,则会计算方括号内的表达式的值并将其转换为字符串

  不论哪种情况,如果命名的属性不存在,那么整个属性访问表达式的值就是undefined

对象创建表达式

  对象创建表达式创建一个对象并调用一个函数初始化新对象的属性

new Object();
new Point(2,3);

  如果一个对象创建表达式不需要传入任何参数给构造函数的话,那么这对空圆括号是可以省略的

new Object;

函数表达式

  函数表达式分为函数定义表达式和函数调用表达式

  函数定义表达式定义一个javascript函数,表达式的值是这个新定义的函数

  一个典型的函数定义表达式包含关键字function,跟随其后的是一对圆括号,括号内是一个以逗号分割的列表,列表含有0个或多个标识符(参数名),然后再跟随一个由花括号包裹的javascript代码段(函数体)

function square(x){
    return x*x;
}

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

var square = function(x){return x*x;}

  函数调用表达式是一种调用或执行函数或方法的语法表示。如果这个表达式是一个属性访问表达式,那么这个调用称做方法调用

f(0);
Math.max(x,y,z);
a.sort();

以上就是JavaScript中的表达式是什么的全部内容了,更多与JavaScript中的表达式是什么相关的内容可以搜索编程网之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下编程网!

--结束END--

本文标题: JavaScript中的表达式是什么

本文链接: https://lsjlt.com/news/88725.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript中的表达式是什么
    今天给大家介绍一下JavaScript中的表达式是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。在JavaScript中...
    99+
    2024-04-02
  • javascript表达式是什么
    这篇文章将为大家详细讲解有关javascript表达式是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 javascript表达式有:1、...
    99+
    2024-04-02
  • javascript的表达式指的是什么
    这篇文章主要讲解了“javascript的表达式指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript的表达式指的是什么”吧! ...
    99+
    2024-04-02
  • javascript中正则表达式/ig的含义是什么
    这篇文章主要讲解了“javascript中正则表达式/ig的含义是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中正则表达式/ig的...
    99+
    2024-04-02
  • JavaScript正则表达式的语法是什么
    这篇文章主要介绍“JavaScript正则表达式的语法是什么”,在日常操作中,相信很多人在JavaScript正则表达式的语法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • python中什么是表达式
    今天就跟大家聊聊有关python中什么是表达式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。说明Python表达式是变量、常量、计算符和方法调用的序列,它执行指定的计算,并返回某个确...
    99+
    2023-06-20
  • JavaScript中正则表达式的使用方法是什么
    这篇文章主要讲解了“JavaScript中正则表达式的使用方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中正则表达式的使用方法是什么”吧!一、什么是正则表达式是...
    99+
    2023-06-22
  • Java中的Lambda表达式是什么
    这篇文章主要介绍“Java中的Lambda表达式是什么”,在日常操作中,相信很多人在Java中的Lambda表达式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中的Lambda表达式是什么”的疑...
    99+
    2023-06-25
  • JavaScript和Scala中ABAP mesh表达式的表达是怎样的
    今天就跟大家聊聊有关JavaScript和Scala中ABAP mesh表达式的表达是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ABAP ...
    99+
    2024-04-02
  • java中Lamda表达式是什么
    java中Lamda表达式是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Lamda表达式λ 希腊字母表中排序第十一位的字母,英语名称为 Lamda避免匿名内部类定义过多可...
    99+
    2023-06-22
  • JavaScript中正则表达式是怎样的
    JavaScript中正则表达式是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  好程序员web前端培训分享JavaScript学习笔...
    99+
    2024-04-02
  • 什么是java表达式
    什么是java表达式在Java语言中,表达式是由变量或常量与符号的组合,例如:num1+num2;或age>18;等。表达式中常用的符号称为运算符,这些运算符作用的变量或常量称为操作数。例如:在表达式age>18中,age和18是操作数,符...
    99+
    2020-08-17
    java基础 java 表达式
  • 什么是css表达式
    什么是css表达式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 css表达式就是在css属性后使用expre...
    99+
    2024-04-02
  • LINQ表达式是什么
    这篇文章主要讲解了“LINQ表达式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ表达式是什么”吧!LINQ表达式简介OO(面向对象)以外的疆域:信息的访问与整合。关系数据库与X...
    99+
    2023-06-17
  • Access中表达式的用法是什么
    Access中的表达式用于计算和组合数据,以创建新的数据或控制数据的呈现方式。表达式可以在查询、表单、报告和宏中使用。以下是一些常见...
    99+
    2023-09-28
    access
  • 什么是VBS中的正则表达式
    本篇内容主要讲解“什么是VBS中的正则表达式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是VBS中的正则表达式”吧!早期起源正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研...
    99+
    2023-06-09
  • php中正则表达式是什么
    这篇文章主要介绍php中正则表达式是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1:简单介绍正则表达式:正则表达式就是描述字符串排列模式的一种自定义语法规则如果可以使用字符串处理函数完成的任务,就不要使用正则表...
    99+
    2023-06-15
  • linux中什么是正则表达式
    这篇文章主要为大家展示了“linux中什么是正则表达式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中什么是正则表达式”这篇文章吧。什么是正则表达式正则表达式就是用一个“字符串”来描述...
    99+
    2023-06-15
  • python lambda表达式的格式是什么
    本篇内容介绍了“python lambda表达式的格式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:在日常开发的过程中...
    99+
    2023-06-29
  • Struts2中OGNL表达式的原理是什么
    Struts2中OGNL表达式的原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、OGNL表达式基础知识 二、OGNL与Struts2OGNL表达式OGNL...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作