从未有过的JavaScript运算符详细解释

目录
  • 解释性语言和编译型语言
    • 1.概述
    • 2.执行过程
    • 标识符,关键字,保留字
      • (一)标识符
      • (二)关键字
      • (三)保留字
    • 运算符
      • 算术运算符
      • 比较运算符概述
      • 逻辑运算符
      • 赋值运算符
  • 总结

解释性语言和编译型语言

1.概述

计算机不能直接理解除机器语言以外的语言,所以要把程序员所写的编程语言翻译成机器语言才能被执行程序,程序语言翻译成机器语言的工具,被称为翻译器

  • 翻译器翻译的方式有两种:一种是编译,一种是解释,两种方式之间的区别在于翻译的时间点不同
  • 编译器是在代码执行之前,生成中间代码文件
  • 解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)

2.执行过程

类似于请客吃饭

  • 编译语言:首先先把所有菜上齐了,才能吃饭
  • 解释语言:好比吃火锅,边吃边涮,同时进行

标识符,关键字,保留字

(一)标识符

标识符:就是指开发人员为变量,属性,函数,参数取的名字(自定义)

注意:标识符:不能是关键字或者保留字

(二)关键字

关键字:是指JS本身已经使用了的字,不能再把它充当变量名,方法名。(一旦使用就是在制造BUG)

包括:break,case,catch,continue,default,delete,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var,void,while,with等。

(三)保留字

保留字:实际就是预留的“关键字”,意思是现在 虽然不是关键字,但是别人是潜力股,未来可能成为关键字,同样不能使用它们当变量名或方法名

包括:abstract,enum,int,short,boolean,export,interface,static,byte,extends,long,super,char,final,native,synchronized,class,float,package,throws,const,goto,private,transient,debugger,implements,protected,volatile,double,import,public等。

运算符

运算符:也被称为操作符,是用于实现赋值,比较和执行算数运算等功能的符号。

js中常用的运算符有

  • 算数运算符
  • 递增和递减运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符

算术运算符

概念:算术运算使用的符号,用于执行两个变量或值的算术运算。

运算符 描述 实例
+ 10+20=30
- 120-10=110
* 10*20=200
/ 10/20=0.5
% 取模(取余数) 得到的是除法的余数 9%2=1

浮点数的精确度问题

浮点数的最高精确度是17位小数,但是在进行算术计算时其精确度远远不如整数、

var result=0.1+0.2;
console.log(result);//结果不是 0.3,而是0.30000000000000004
console.log(0.07*100);//7.000000000000001,而是7.000000000000001

所以:不要直接判断两个浮点数是否相等

表达式和返回值

表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合

简单理解:是由数字、运算符、变量等组成的式子

递增和递减运算符概述

如果需要反复给数字变量添加或减去1。可以使用递增( ++ )和递减( – )运算符来完成。

在JavaScript中,递增( ++ )和递减( – )既可以放在变量前面。也可以放在变量后面。放在变量前面时,

我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。

注意:递增和递减运算符必须和变量配合使用。

递增运算符

前置递增运算符

++num前置递增,就是自加1,类似于num=num+1,但是++num写起来更简单。

使用口诀:先自加,后返回值

后置递增运算符

++num前置递增,就是自加1,类似于num=num+1,但是num++写起来更简单。

使用口诀:先自加,后返回值

var age=10;
console.log(age);//10
++age;
console.log(age);//11
var p=10;
console.log(++p+10);//21
//先加1后返回值(返回初始的值)
//后置++
var num=10;
num++;
console.log(num);//11
//单独使用自增自减,效果一样

var number=10;
//先返回值(返回初始的值),再加+
console.log(number++ +10);//20
console.log(number);//11

比较运算符概述

概念:比较运算符是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true/false)作成运算结果

运算符 说明 案例 结果
< 小于 1<2 true
> 大与 1>2 false
> = 大于等于 2>=2 true
< = 小于等于 3<=2 false
== 判等号(会转型) 37=37 true
!= 不等号 37!=37 false
=== !== 全等 要求值和数据类型都一致 37===‘37’ false

=小结

符号 作用 用法
= 赋值 把右边给左边
== 判断 判断两边值是否相等(注意此时有隐式转换)
=== 全等 判断两边的值和数据类型是否完全相同

代码演示

console.log(3>=5);
		console.log(2<=4);
		//1.我们程序里的等于符号,是默认转换类型,会把字符串的数据类型转换为数字型只要求值相等就可以了
		console.log(3==5);
		console.log('黄茂荣'=='黄茂云');
		console.log(18=='18');
		consjole.log(18!=18);
		//2.我们程序里面有全等一模一样,要求两侧的值,还有数据类型完全一样才可以
		console.log(18===18);
		console.log(18 === '18');

结果如图

逻辑运算符

概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值,后面开发中经常用于多个条件的判断

逻辑运算符 说明 案例
&& “逻辑与”,简称"与" and true&&false
|| “逻辑或”,简称"或" or true||false
“逻辑非”,简称"非" not !true
	//1.逻辑与&& and两侧都为true结果才是true 只要有一侧为false结果就为false
	console.log(3>5&&3>2);//false
	console.log(3<5&&3>2)//true
	//2.逻辑或 ||  or 两侧都为false 结果才是false 只有一侧为true ,结果就是true
	console.log(3>5||3>2)//true
	console.log(3>5||3<2);//false

短路运算(逻辑中断)

短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不在继续运算右边的表达式的值

1.逻辑与

语法:表达式1&&表达式2

如果第一个表达式的值为真,则返回表达式2

如果第一个表示式的值为假,则返回表达式1

2.逻辑或

语法:表达式1||表达式2

如果第一个表达式的值为真,则返回表达式1

如果第一个表达式的值为假,则返回表达式2

//1.用我们的布尔值参与的逻辑运算  true&&false==false
		//2.123&&456 是值或者是表达式参与了逻辑运算?
		//3.逻辑与短路运算,如果表达式1 结果为真 ,则返回表达式2,如果表达式1为假,那么返回表达式1
		//除0以外的数都为真
		console.log(1233&&2344);
		console.log(0&&352);
		console.log(0&&1+2&&456+8789);
		//如果有空的或者否定的为假,其余为真
		 //(0,'',null,undefined,NaN)空
		//4.逻辑或短路运算   如果表达式1为真 结果为真 则返回的是表达式1 如果表达式1 结果为假 则返回的是表达式2
		console.log(123||456);//123
		console.log(123||456||+123);//123
		//逻辑中断很重要,它会影响我们程序运行的结果
		var num=11;
		console.log(123||num);//123
		console.log(0||num);//11
		console.log(num);//11

赋值运算符

概念:用来把数据赋值给变量的运算符

赋值运算符 说明 案例
= 直接赋值 var userName=‘我是黄茂荣’;
+= ,-= 加,减一个数后赋值 var age=10; age+=5; //age=15
*=,/=,%= 乘,除,取模后赋值 var age=2; age*=5;//age=10

优先级

优先级 运算符 顺序
1 小括号 ()
2 一元运算符 ++,–,!
3 算数运算符 先*,/ %后+ -
4 关系运算符 > > = < < =
5 相等运算符 == != === !==
6 逻辑运算符 先&& 后||
7 赋值运算符 =
8 逗号运算符 ,

总结

运算符 | > > = < < = |
| 5 | 相等运算符 | == != === !== |
| 6 | 逻辑运算符 | 先&& 后|| |
| 7 | 赋值运算符 | = |
| 8 | 逗号运算符 | , |

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • JavaScript基础之运算符

    目录 1.运算符 总结 1.运算符 运算符(operator)也称操作符,是用于实现赋值.比较和执行算术运算等功能的符号. JavaScript中常用的运算符有: 算术运算符 (+.- .* ./ .%) 递增和递减运算符(++num .num++.--num.num--) 比较运算符 逻辑运算符 赋值运算符 赋值运算: var a = 1; //将右边的值放到左边的变量中 比较运算: 比较运算 - 指的数字的大小比较: > < >= <= 比较运算的结果一定是一个布尔值 逻辑运算

  • JS中一些高效的魔法运算符总结

    JavaScript 现在每年都会发一个新版本,里面也会新增一些操作更加便利.高效的运算符.今天我们就来盘点下几个高效的魔法运算符. 1. 可选链运算符 之前当我们想要使用某个结构比较深的属性,同时又无法确定所有的父级一定存在时,我们需要进行一连串的判断,例如一个数据结构: const student = { score: { math: 98, }, }; 我们想要获取最内层的 math 属性的值时: if (student && student.score) { console.log

  • 千篇一律的JS运算符讲解,一起来看看

    目录 算术运算符 字符串运算符 赋值运算符 比较运算符 逻辑运算符 三元运算符 位运算符 运算符优先级 总结 算术运算符 对数值类型的变量及常量进行算数运算. 也是最简单和最常用的运算符号. 四则混合运算,遵循 “先乘除后加减”的原则. 取模运算结果的正负取决于被模数(%左边的数)的符号. 尽量避免利用小数进行运算,有时可能因JavaScript的精度导致结果的偏差. “+”和“-”在算术运算时还可以表示正数或负数. 运算符(++或–)放在操作数前面,先进行自增或自减运算,再进行其他运算.若运算

  • js不常见操作运算符总结

    目录 2.逗号运算符 3.javaScript空值合并操作符(??) 4.javaScript可选链操作符( ?. ) 1.前言 js的运算符很多,之前有文章提过.例如如下: js整数的操作: 使用|0和~~可以将浮点转成整型且效率方面要比同类的parseInt,Math.round 要快,在处理像素及动画位移等效果的时候会很有用.性能比较见此. var foo = (12.4 / 4.13) | 0;//结果为3 var bar = ~~(12.4 / 4.13);//结果为3 还有一个小技巧

  • JS不要再到处使用绝对等于运算符了

    概述 我们知道现在的开发人员都使用===来代替==,为什么呢? 我在网上看到的大多数教程都认为,要预测JavaScript强制转换是如何工作这太复杂了,因此建议总是使用===. 这些都导致许多程序员将该语言的一部分排除在外,并将其视为一种缺陷,而不是去扩大他们的对该过程的理解. 下面通过两个使用案例,说明使用==的好处. 1.测试空值 if (x == null) vs if (x === undefined || x === null) 2.读取用户的输入 let userInput = do

  • js中不常见的运算符与操作符总结

    javaScript常用运算符和操作符总结 类别 操作符 算术操作符 +. –. *. /. %(取模) 字符串操作符 + 字符串连接   +=字符串连接复合 布尔操作符 !. &&.  ||  一元操作符 ++ . -- .  +(一元加).    -(一元减) 关系比较操作符 < . <= . >  .>=.   !=  . == .  === .  !==  按位操作符 ~ 按位非    &按位与     | 按位或     ^按位异或    <

  • 从未有过的JavaScript运算符详细解释

    目录 解释性语言和编译型语言 1.概述 2.执行过程 标识符,关键字,保留字 (一)标识符 (二)关键字 (三)保留字 运算符 算术运算符 比较运算符概述 逻辑运算符 赋值运算符 总结 解释性语言和编译型语言 1.概述 计算机不能直接理解除机器语言以外的语言,所以要把程序员所写的编程语言翻译成机器语言才能被执行程序,程序语言翻译成机器语言的工具,被称为翻译器 翻译器翻译的方式有两种:一种是编译,一种是解释,两种方式之间的区别在于翻译的时间点不同 编译器是在代码执行之前,生成中间代码文件 解释器是

  • 分享几个JavaScript运算符的使用技巧

    ECMAScript发展进程中,会有很多功能的更新,比如销毁,箭头功能,模块,它们极大的改变JavaScript编写方式,可能有些人喜欢,有些人不喜欢,但像每个新功能一样,我们最终会习惯它们.新版本的ECMAScript引入了三个新的逻辑赋值运算符:空运算符,AND和OR运算符,这些运算符的出现,也是希望让我们的代码更干净简洁,下面分享几个优雅的JavaScript运算符使用技巧 一.可选链接运算符[?.] 可选链接运算符(Optional Chaining Operator) 处于ES2020

  • 浅谈javascript运算符——条件,逗号,赋值,()和void运算符

    前面的话 javascript中运算符总共有46个,除了前面已经介绍过的算术运算符.关系运算符.位运算符.逻辑运算符之外,还有很多运算符.本文将介绍条件运算符.逗号运算符.赋值运算符.()和void运算符 条件运算符 条件运算符是javascript中唯一的一个三元运算符(三个操作数),有时直接称做'三元运算符'.通常这个运算符写成'?:',当然在代码中往往不会这么简写,因为这个运算符拥有三个操作数,第一个操作数在'?'之前,第二个操作数在'?'和':'之间,第三个操作数在':'之后 varia

  • javascript运算符——逻辑运算符全面解析

    前面的话 逻辑运算符对操作数进行布尔运算,经常和关系运算符一样配合使用.逻辑运算符将多个关系表达式组合起来组成一个更复杂的表达式.逻辑运算符分为逻辑非'!'.逻辑与'&&'.逻辑或'||'3种,本文将介绍这三种逻辑运算符 逻辑非 逻辑非操作符由一个叹号(!)表示,可以应用于ECMAScript中的任何值.无论这个值是什么数据类型,这个操作符都会返回一个布尔值.逻辑非操作符首先会将它的操作数转换成一个布尔值,然后再对其求反 逻辑非对操作数转为布尔类型的转换类型与Boolean()转型函数相同

  • linux下的tar命令详细解释

    tar命令 [root@Linux ~]# tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 因为不可能同时压缩与解压缩. -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压

  • C语言中左移和右移运算符详细介绍

    C语言中左移和右移运算符详细介绍 左移运算符(<<) 左移运算符是用来将一个数的各二进制位左移若干位,移动的位数由右操作数指定(右操作数必须是非负值),其右边空出的位用0填补,高位左移溢出则舍弃该高位. 右移运算符(>>) 右移运算符是用来将一个数的各二进制位右移若干位,移动的位数由右操作数指定(右操作数必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0. 对于有符号数,某些机器将对左边空出的部分用符号位填补(即"算术移位"),而另一些机器则对左边空出

  • javascript实现详细时间提醒信息效果的方法

    本文实例讲述了javascript实现详细时间提醒信息效果的方法.分享给大家供大家参考.具体如下: 我们经常在社交网络上面看到很人性化的时间提示比如,你的朋友几分钟前更新了什么,你的朋友几天前更新了什么信息. 这些小tips比直接显示某年某月人性化很多.我们可以用不同的程序实现这种效果.下面我是通过前台javascript来实现这种效果. 这样可以减少后台服务器的压力. javascript实现代码如下: 复制代码 代码如下: // 本函数实现了更人性化的时间提示 // @param date_

  • javascript运算符——位运算符全面介绍

    前面的话 位运算符是非常底层的运算,由于其很不直观,所以并不常用.但是,其速度极快,且合理使用能达到很好的效果.本文将介绍javascript中常常被忽视的运算符--位运算符 二进制表示 ECMAScript中的所有数值都以IEEE-754 64位格式存储,但位操作符并不直接操作64位的值,而是以32位带符号的整数进行运算的,并且返回值也是一个32位带符号的整数 这种位数转换使得在对特殊的NaN和Infinity值应用位操作时,这两个值都会被当成0来处理 如果对非数值应用位操作符,会先使用Num

  • javascript运算符语法全面概述

    前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始终都遵循着一些固定语法,只有了解并掌握这些内容,才能正确使用运算符.本文将主要介绍javascript运算符的语法概述 操作数个数 javascript的运算符总共有46个,如果根据其操作数的个数进行分类,则大多数是二元运算符(binary operator),它们的操作数都是两个,它们将两个表达式合并成复杂表达式 1 + 2; true || false; javas

  • cmd 环境变量设置方法详细解释

    cmd设置环境变量可以方便我们bat脚本的运行,但是要注意的是变量只在当前的cmd窗口有作用(局部生效),如果想要设置持久的环境变量需要我们通过两种手段进行设置:一种是直接修改注册表,另一种是通过我的电脑-〉属性-〉高级,来设置系统的环境变量. 1.查看当前所有可用的环境变量:输入 set 即可查看. 2.查看某个环境变量:输入 "set 变量名"即可,比如想查看temp变量的值,即输入 set temp 当然也可以使用echo %temp% 3.修改环境变量 :输入 "se

随机推荐