资讯专栏INFORMATION COLUMN

Javascript语句 - Javascript语法基础 - Javascript核心

lavnFan / 1644人阅读

摘要:多数运算符都是由标点符号表示,比如和。通常会根据需要对操作数进行类型转换左值是一个古老的属于,它是指表达式只能出现在赋值运算符的左侧。也称为严格相等运算符,它用来检测两个操作数是否严格相等。运算符的检测规则是和运算符的求反。

  

源代码: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/JavaScript_Core/JavaScript_Basics/Expressions.md

  

原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Expressions.html

表达式

表达式是JavaScript中的一个短语,解释器会将其计算出一个结果。程序中的常量是最简单的一类表达式。

将简单的表达式在组合成复杂的表达式最常用的方法就是使用运算符。运算符按照特定运算规则对操作数进行运算。

原始表达式

原始表达式包括常量,关键字和变量.

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

数组初始化表达式是通过一对方括号和其内由逗号隔开的列表构成的。例如

[]
[1+2,3+4]

也可以进行嵌套:

[[1,2,3],[4,5,6]];

也可以通过逗号省略某些元素:

[1,,,,5]

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

var p = {x:2.3, y:-1.2}
函数定义表达式
var quare = function(x) { return x * x;}
属性访问表达式
o.x
调用表达式
f(0)
Math.max(x, y, z)
a.sort()
对象创建表达式
new Object()
new Point(2,3)
运算符概述

JavaScript中有许多运算符用于算术表达式,比较表达式,逻辑表达式,赋值表达式。多数运算符都是由标点符号表示,比如"+"和"="。另外一些运算符则是由关键字表示,比如delete和instanceof。

运算符可以根据其操作数的个人进行分类。多数的运算符为二元运算符 例如*。 同样也有一些一元运算符,例如,表达式-x中“-”运算符,条件判断运算符 ?: 是一个三元运算符。

一些运算符可以作用与任何数据类型,但是仍然希望它们的操作数是指定类型的数据,并且大多数运算符返回一个特定类型的值。通常会根据需要对操作数进行类型转换

左值是一个古老的属于,它是指 表达式只能出现在赋值运算符的左侧。在JavaScript中,变量,对象属性和数组元素均是左值。ECMAScript规范允许内置函数返回一个左值,但自定义的函数则不能返回左值。

算术表达式
1 + 2
"hello" + " " 
"1" + "2"
关系表达式

关系运算符用于测试两个值之间的关系,关系表达式总是返回一个布尔值,通常在if, while或者for语句中使用关系表达式,用以控制程序的执行流程。

== 和 ===运算符用于比较两个值是否相等,他们对相等的定义不尽相同。两个运算符允许任意类型的操作数,如果操作数相等则返回true,否则返回false。====也称为严格相等运算符,它用来检测两个操作数是否严格相等。== 运算符称做相等运算符,它用来检测两个操作数是否相等,这个相等的定义非常宽松,可以允许进行类型转换。由于 == ===的结合性都是从左到右,所以在执行==操作的时候,执行左侧的类型转换。 != !==运算符的检测规则是==和===运算符的求反。

比较运算符用来检测两个操作数的大小关系。例如 < > <= >=. 比较操作符的操作数可能是任意类型的,然而之后数字和字符串才是真正执行比较操作符,因为那些不是数字和字符串的操作数都将进行类型转换。

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

var point = {x:1, y:1};
"x" in point

instanceof运算符希望左操作数是一个对象,右操作数标识对象的类。如果左侧的对象是右侧类的实例,则表达式返回true。例如:

var d = new Date();// 通过Date()构造函数来创建一个新对象
d instanceof Date;// 计算结构为true, d是由Date()创建的
逻辑表达式

逻辑运算符 && || !是对操作数进行布尔算术运算,经常和关系运算符一起使用

if(a === b && c == d ) {
    // some code
}
赋值表达式

JavaScript使用"="运算符来给变量或者属性赋值 例如:

i = 0
o.x = 1

=运算符希望它的左操作数是一个左值, 右操作数可以使任意类型的任意值。

除了常规的赋值运算,JavaScript还支持许多其他的赋值运算符,这些运算符将赋值运算符和其他运算符连接起来,提供了一种更为快捷的运算方式。例如:

total += sales_tax

等价于

total = total + sales_tax
表达式计算

和其他许多解释性语言一样,JavaScript同样可以解释运行由JavaScript源代码组成的字符串, 并产生一个值。JavaScript通过管局函数eval()来完成这个工作:

eval("3+2") //=>5
其他运算符

条件运算符(?:)是JavaScript中唯一的一个三元操作符:

x > 0 ? x : -x //求x的绝对值

typeof运算符是一元运算符,放在其单个操作数的前面,操作数可以使任意类型。返回值为表示操作数类型的一个字符串:

typeof最常用的用法是写在表达式中, 就像这样:

(typeof value == "string") ? """ + value + """ : value

delete是一元操作符, 它用来删除对象属性或者数组元素.

var o = {x:1, y:2}//定义一个对象
delete o.x  //删除一个属性
"x" in o    //=> false:这个属性在对象中不再存在

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78113.html

相关文章

  • JavaScript核心语法-基础语法

    摘要:基础语法区分大小写是一种区分大小写的语法,意味着的关键字变量名函数名以及其他一切的字符表示都要使用一致的大小写形式。化物语化物语空格和换行会忽略代码中出现的空格换行制表符。如果不用花括号独立独立编写一个语句,语法并不报错,但不推荐。 JavaScript基础语法 区分大小写 JavaScript是一种区分大小写的语法,意味着JavaScript的关键字、变量名、函数名以及其他一切的字符...

    soasme 评论0 收藏0
  • 词法 - Javascript核心 - Javascript语法基础

    摘要:原文源码的词法结构字符集程序是用字符集。支持地球上几乎所有在用的语言。是区分大小写的语言的。与在是不同的,在是相同的。会忽略程序中标识之前的空格。多数情况下也会忽略换行符。 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Lexical.html 源码: https://github.com/Rob...

    lakeside 评论0 收藏0
  • 学Java编程需要注意的地方

    摘要:学编程真的不是一件容易的事不管你多喜欢或是多会编程,在学习和解决问题上总会碰到障碍。熟练掌握核心内容,特别是和多线程初步具备面向对象设计和编程的能力掌握基本的优化策略。   学Java编程真的不是一件容易的事,不管你多喜欢或是多会Java编程,在学习和解决问题上总会碰到障碍。工作的时间越久就越能明白这个道理。不过这倒是一个让人进步的机会,因为你要一直不断的学习才能很好的解决你面前的难题...

    leanxi 评论0 收藏0
  • JavaScript核心语法——语句

    摘要:语句块的结尾不需要分号,语句块中的行都有缩进单并不是必须的。条件语句条件语句就是指通过判断指定的计算结果,来决定执行还是跳过指定的语句块。语句,在语句的基础上,允许提供多个条件判断。语句是终端语句,用于循环语句或开关语句。 语句 语句的概念 语句其实就是JavaScript中的整句或命令,使用分号进行分隔,可以编写一句,也可以编写多句。JavaScript中使用花括号({})表示一个语...

    seanlook 评论0 收藏0
  • 函数 - Javascript语法基础 - Javascript核心

    摘要:在定义函数的作用域外调用,得到的返回仍然是函数创建时所在的作用域的局部变量。这是因为所在的匿名函数的闭包中存放的是第一行的,而不是在循环中获得的的当前值。 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Function.html 源代码: https://github.com/RobinQu/Pr...

    wuaiqiu 评论0 收藏0

发表评论

0条评论

lavnFan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<