在JS中有多中表达式的使用方式, 具体表达式有一下几种:
初始化表达式
person = { // 对象的定义以花括号开始 firstName: "xiang", // 定义了属性firstName, 值为xiang lastName: "lujun" // 定义类属性lastName, 值为lujun }; primes=[2,3,5,7,9]; // 定义一个数组
在上面的使用中,我们通过[]
的方式定义了数组和通过{}
的方式定义了对象属性名和属性值之间的对应关系, 这种语法实现就叫做初始化表达式
.
运算表达式
在js中有很多中表达式的使用方式, 具体的使用方式如下:
3 + 2 // => 5 加法 3 - 2 // -> 1 减法 3 * 2 // -> 6 乘法 6 / 2 // -> 3 除法 points[0].x + points[1].x // 较复杂的运算表达式 "3" + "2" // -> 32 字符串拼接 // 定义整数 var c = 0; c++; // -> 自增1, 相当于 c = c + 1; c--; // 自减1,相当于c = c -1 ; c += 2; // 自增2, 相当于 c = c + 2; c -= 2; // 自减2,相当于c = c - 2; c *= 2; // 乘以2,相当于c = c * 2; c /= 2; // 除以2,相当于 c = c / 2; c; // -> 0; 输出结果
逻辑运算符
在js中包含了很多逻辑运算符, 主要包含了大于,小于,等于等。其返回的结果为布尔值: true或者false
var a = 1, b = 0; a == b; // false, 是否相等 a <= b; // false; 判断a是否小于等于b a >= b; // true; 判断 a是否大于等于b; a != b; // true; 判断是否a不等于b a > b; // true; 判断是否a大于b a < b; // false; 判断是否a小于b "1" == "2" // false; 判断两个字符串是否相等 "ac" > "ab"; // true; 因为ac在字母的索引位大于ab false == (a > b); // false; 以为a>b为true, 则false == true不成立 // 逻辑运算符 (a == 1) && (b == 0); // true; &&两边的值,必须同时为true时, 结果才为true; 否则值为false (a == 1) || (b == 2); // true; || 表示两边的比较,有一个为true,则结果为true; 否则结果为false !(a != b); //false; !表示对结果进行取反, true变为false; false变为true;
控制表达式
在js中有常用的控制表达式的使用, 具体实例如下:
if 表达式
if
表达式指代的是,当if
后端的条件运行结果为true时,则执行对应的代码片段, 具体实例如下:
function f(x) { if (x >= 0) { // if条件语句 console.log("正数") // 如果if条件结果为true, 则执行该段代码 } else { // 当if条件结果为false时,则执行这段代码 console.log("负数") } } f(1); // 正数 f(-1); // 负数
while 表达式
while
表达式则是一个循环表达式, 可以对一个条件运算多次, 再输出其结果. 具体代码如下:
function fab(n) { // 实现一个斐波拉契数列 if (n <= 2) { return 1; } var pp = 1, p = 1, c = 0, i = 2; while(i < n) { // 循环开始, 判断是否i < n c = pp + p; // 计算前两个元素的值, 并赋值到c pp = p; // 保存前两位的值 p = c; // 保存前两位的值 i++; // 向后推进1位 } return c; // 返回结算结果 }
for
和while
表达式有比较多的相似的地方,也是用于循环执行的代码, 具体代码如下:
function fab(n) { // 实现一个斐波拉契数列 if (n <= 2) { return 1; } var pp = 1, p = 1, c = 0; for(i = 2; i < n; i++) { // 循环开始, 判断是否i < n; 当单次for循环执行完毕后, 执行i++,相当于i = i+ 1; c = pp + p; // 计算前两个元素的值, 并赋值到c pp = p; // 保存前两位的值 p = c; // 保存前两位的值 } return c; // 返回结算结果 }