Javascript 基础学习(五)js 的运算符

通过运算符可以对一个或多个值进行运算,并且一定有运算结果返回

算数运算符

? 算数运算符包括相加(+)、相减(-)、相乘(*)、相除(/)、取模(%)。任何值与字符串相加都会转换为字符串,做的是字符串连。除了与字符串做加法,当对非 Number 类型的值进行运算时,会将这些值转换为 Number 再运算。任何值和 NaN 做运算都得 NaN

//js里面不区分整数和小数
var j = 123;
alert(j/1000*1000);
//  j/1000*1000    在java里面得到结果是 0
// 在js里面不区分整数和小数,123/1000=0.123 * 1000 = 123

//字符串的操作
var str = "456";
alert(str+1);   //在java里面操作的结果是 4561 ,在js里面还是 4561
alert(str-1);   //相减时候,执行减法的运算
//提示:NaN表示不是一个数字

一元运算符

正负号

//正号(+)表示正数
var a = 123;
a = +a;
console.log(a); /123
//负号(-)表示负数
var a = 123;
a = -a;
console.log(a); /-123

自增

? 自增可以使变量在原值的基础上自增1。

? 自增使用 ++。

? 自增可以使用 前++(++a)后++(a++)。

? 无论是++a 还是 a++都会立即使原变量自增1

? 不同的是++a和a++的值是不同的,++a的值是变量的新值(自增后的值), a++的值是变量的原值(自增前的值)

自减

? 自减可以使变量在原值的基础上自减1。

? 自减使用 --。

? 自减可以使用 前--(--a)后--(a--)。

? 无论是--a 还是 a--都会立即使原变量自减1。

? 不同的是--a和a--的值是不同的,--a的值是变量的新值(自减后的值),a--的值是变量的原值(自减前的值)

注意

? 对于非 Number 类型的值会先转换为 Number 再运算。typeof 运算符可以获得一个值的类型,它会将该值的类型以字符串形式返回。

var a = 123;
var result = typeof a;
console.log(typeof result); /string

逻辑运算符

非 !

? 对一个布尔值进行取反运算。如果对非布尔值进行运算,则会先转换为布尔值再取反

与 &&

? 两个值只要有一个为 false 则返回 false。只有两个值都为 true 才返回 true。对于非布尔值运算,如果两个值都为 true,则返回后边的原值,如果两个值中有 false,则返回靠前的 false。归纳以上两点,如果第一个值为 true,则必然返回第二个值,如果第一个值为 false,则直接返回第一个值。

或 ||

? 两个值只要有一个 true,就返回 true。如果两个值都为 false,才返回 false。对于非布尔值运算,如果第一个值为 true,则直接返回第一个值,如果第一个值为 false,则直接返回第二个值

赋值运算符

? (=):可以将符号右侧的值赋值给左侧变量

? (+=):a += 5 相当于 a = a+5

? (-=):a -= 5 相当于 a = a-5

? (=):a = 5 相当于 a = a*5

? (/=):a /= 5 相当于 a = a/5

? (%=):a %= 5 相当于 a = a%5

关系运算符

? 关系运算符用来比较两个值之间的大小关系的。分别有>,>=,<,<=。关系运算符的规则和数学中一致,用来比较两个值之间的关系,如果关系成立则返回true,关系不成立则返回false。如果比较的两个值是非数值,会将其转换为Number然后再比较。如果比较的两个值都是字符串,此时会比较字符串的Unicode编码,而不会转换为Number。

编码转换输出

//在字符串中使用转义字符输入 Unicode 编码,\u四位编码。
console.log("\u2620")
//在网页中使用 Unicode 编码,&#编码,这里的编码需要十进制
<h1>&#9760</h1>

相等运算符

  1. (==)

    相等判断左右两个值是否相等,如果相等返回true,如果不等返回false。相等会自动对两个值进行类型转换,如果对不同的类型进行比较,会将其转换为相同的类型然后再比较,转换后相等它也会返回true。

  2. (!=)

    不等,判断左右两个值是否不等,如果不等则返回true,如果相等则返回false。不等也会做自动的类型转换。

  3. (===)

    全等,判断左右两个值是否全等,它和相等类似,只不过它不会进行自动的类型转换,如果两个值的类型不同,则直接返回false。

  4. (!==)

    不全等,和不等类似,但是它不会进行自动的类型转换,如果两个值的类型不同,它会直接返回true。

  5. 特殊的值
    1. null和undefined

      由于undefined衍生自null,所以null == undefined 会返回true。

    2. NaN

      NaN不与任何值相等,即使它自身 NaN == NaN ,也会返回false。判断一个值是否是NaN,使用isNaN()函数

条件运算符

? 语法:条件表达式?语句1:语句2;。

? 先对条件表达式求值判断,如果判断结果为true,则执行语句1,并返回执行结果,如果判断结果为false,则执行语句2,并返回执行结果 。

运算符优先级

? 和数学中一样,JS中的运算符也是具有优先级的,比如 先乘除 后加减 先与 后或。具体的优先级可以参考优先级的表格,在表格中越靠上的优先级越高,优先级越高的越优先计算,优先级相同的,从左往右计算。优先级不需要记忆,如果越到拿不准的,使用()来改变优先级

原文地址:https://www.cnblogs.com/Yee-Q/p/12322505.html

时间: 2024-10-07 10:27:23

Javascript 基础学习(五)js 的运算符的相关文章

JavaScript基础学习(五)&mdash;其他引用类型

     JavaScript定义了两个内置对象: Global和Math. 一.Global对象 1.URI编码方法      Global对象的encodeURI()和encodeURIComponent()方法可以对URI进行编码,以便发送给浏览器.有效的URI不能包含某些字符,例如空格,这个两个URI编码方法可以对URI进行编码,用特殊的UTF-8编码替换所有无效的字符,从而让浏览器能够接受和理解.      这两个方法的主要区别是: encodeURI()不会对本书属于URI的特殊字符

javascript基础学习(十五)

javascript之cookie 学习要点: cookie介绍 创建与获取cookie cookie的编码 cookie的生存期 cookie的路径 cookie的domain cookie的secure 一.cookie介绍 cookie实际上就是一些信息,这些信息以文件的形式存储在客户端计算机上.在javascript中,cookie主要用来保存状态,或用于识别身份. 二.创建与获取cookie 创建cookie的语法代码如下所示:document.cookie="name=value&q

javascript基础学习(五)

javascript之函数 学习要点: 函数的介绍 函数的参数 函数的属性和方法 系统函数 一.函数的介绍 1.函数就是一段javascript代码.可以分为用户自定义函数和系统函数.   如果一个函数是javascript内置的函数,就称为系统函数.如果函数是自己编写的函数,就是自定义函数. 2.在javascript用function来定义一个函数.function 函数名(参数1,参数2,...){<语句块>  return 返回值} (PS:return语句可以省略) 3.函数的嵌套定

JavaScript 基础学习1-day14

JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator

javascript基础学习(三)

javascript之运算符 学习要点: 表达式 运算符:一元运算符,算术运算符,关系运算符,逻辑运算符,*位运算符,赋值运算符 一.表达式 表达式有常量表达式,变量表达式,复合表达式. 二.算术运算符 一元:+(正号).-(负号).++.—— 二元:*./.%.+.- 三.关系运算符 ==.=== ps:等同运算符比相等运算符要求更为严格,等同运算符只有在两个操作数类型相同,并且值也相同的情况下才会返回true. <.<=.>.>= instanceof运算符.       in

javascript基础学习(六)

javascript之对象 学习要点: 对象的属性和方法 对象的原型 一.对象 对象其实就是一种引用类型,而对象的值就是引用对象的实例. 二.创建对象 在javascript中有两种对象,一种是系统内置对象,另一种是用户自己创建的对象. 1.使用构造函数创建内置对象 在javascript中有很多内置的对象,每个内置的对象都有一个构造函数,直接使用构造函数就可以创建并初始化一个对象. 在javascript中可以使用new运算符来调用构造函数创建对象.如:var myObject=new Obj

javascript基础学习(八)

javascript之日期对象 学习要点: 日期对象 将日期对象转换为字符串 将日期对象中的日期和时间转换为字符串 日期对象中的日期 日期对象中的时间 设置日期对象中的日期 设置日期对象中的时间 与毫秒相关的方法 一.日期对象 在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间. 日期对象的创建: new Date(); 二.将日期对象转换为字符串 将日期对象转换为字符串可以使用以下4种方法: date.toString();//将日期对象转换为字符串时,采

javascript基础学习(二)

javascript的数据类型 学习要点: typeof操作符 五种简单数据类型:Undefined.String.Number.Null.Boolean 引用数据类型:数组和对象 一.typeof操作符 typeof操作符用来检测变量的数据类型,操作符可以操作变量也可以操作字面量. 对变量或值运用typeof操作符得到如下值: undefined----如果变量是Undefined类型: boolean-------如果变量是Boolean类型: number-------如果变量是Numbe

[转载] 几张非常有意义的JavaScript基础学习思维图

原文:http://www.w3cfuns.com/forum.php?mod=viewthread&tid=5598364&extra=page%3D1%26filter%3Ddigest%26digest%3D1%26digest%3D1 1.JavaScript 数组 2.JavaScript 函数基础 3.Javascript 运算符 4.JavaScript 流程控制 5.JavaScript 正则表达式 6.JavaScript 字符串函数 7.JavaScript 数据类型

javascript基础学习(四)

javascript之流程控制语句 学习要点: 表达式语句含义 选择语句:if.if...else.switch 循环语句:while.do...while.for.for...in 跳转语句:break.continue 异常处理语句:throw.try...catch...finally 一.表达式语句 表达式语句通常是赋值语句.函数或方法调用语句等. 二.选择语句 if(条件表达式)语句;  if(条件表达式){语句;}else{语句;}   还有就是if...lese的嵌套 switch