JavaScript学习手册(9)

运算符(操作符)

对一个或者多个值进行运算

算数运算符

加,减,乘,除,取模运算

  • 对非Number类型的值进行加法运算时,会将这些值转换为Number然后再运算

  • 任何值和NaN做加法运算都得到NaN

  • 字符串相加,则将字符串拼接在一起

  • 任何值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼接

技巧:为任意的数据类型 + “ ” ,即可将其转换为字符串。(隐式类型转换,浏览器自动完成)

​ 为一个值 -0 ,* 1, / 1,来转换为Number(隐式类型转换,浏览器自动完成)

​ 对一个其他的数据类型使用 + ,来将其转换为number

一元运算符

  • +正号 -负号
  • 对于非Number类型的值,先转换为Number,然后再运算

自增和自减

自增:使变量在自身的基础上增加 1

​ 对于一个变量自增以后,原变量的值会立即自增 1 。

自增分类:

1.后++(a++) 和 前++(++a)

后++:值等于原变量的值(自增前的值)

前++:值等于原变量新值(自增后的值)

2.后-- (a–) 和 前-- (–a)

逻辑运算符

  • 与(&&) :两个值都为true,则返回true。

    ​ 只要有一个false,就返回false。(如果两个值都是true则返回true,只要有一个false,就返回false)

    ​ 对于非布尔值进行与运算时,

    ​ 会先将其转换为布尔值,然后再运算,并且返回原值。

    ​ 如果两个值都为true,则返回后边的

    ​ 如果两个值中有false,则返回靠前的false

         result = 0  &&  2; //0
         result = 2  &&  0; //2
         result = NaN && 0; //NaN
    ​    result = 0 && NaN; //0
    
  • 或(||) :如果第一个值为true,则直接返回第一个值。(与运算正好相反)

    ​ 如果第一个值为false,则直接返回第二个值。(与运算正好相反)

  • 非(!) :如果对一个值进行两次取反,它不会变换。

    ​ 如果对非布尔值进行计算,则会将其转换为布尔值,然后再取反。

    ​ 技巧:可以为一个任意数据类型两次取反操作,将其转换为布尔值。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IYUHASJy-1619919323464)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1609248256959.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xqovakxn-1619919323467)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1609248320684.png)]

赋值运算符

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

+= -= *= /= %/

关系运算符

大于号,大于等于,小于,小于等于,

  • 比较两个值之间的大小,关系成立返回true,关系不成立则返回false

  • 对于非数值进行比较时,会将其转换为数字,然后再比较。

  • 任何值和NaN做任何比较都是false (10<=“hello”;//false)

         console.log(1 > true); //false
    ​    console.log(1 >= true) //true
         console.log(1>"0");//true
         console.log(10>null);//true
    

    对于非数值进行比较时,会将其转换为数字然后再比较。

    如果符号两侧的值都是字符串,不会将其转换为数字进行比较,而会分别比较字符串中字符的Unicode编码。

    比较字符编码时是一位一位进行比较。

    在比较两个字符串型的数字时,一定要转型。

Unicode编码表

在网页中写法:&#编码(十进制编码)

相等运算符( )

相等( == )

如果相等返回true,否则返回false

  • 当使用==来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转化为相同的类型,然后再比较。
console.log(“null==0”);//false
console.log("true=="1");//true
console.log("1"==1);//true
  • undefined衍生自null,所以这两个值做相等判断时,会返回true。
console.log(undefined==null);//true
  • NaN不和任何值相等,包括本身。

**注意:**可以通过isNaN()函数来判断一个值是否是NaN。

var    a=NaN;
console.log(isNaN(a));

不相等( != )

  • 不相等也会对变量进行自动的类型转换,如果转换后也相等,返回false

全等( === )

  • 不会做自动类型转换,如果值的类型不同,直接返回false

不全等( !== )

  • 不会做自动类型转换,如果值的类型不同,直接返回true

条件运算符(三元运算符)

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

运算符的优先级

逗号分隔多个语句,一般声明用于多个变量。

优先级运算符说明结合性
1[].()字段访问、数组索引、函数调用和表达式分组从左向右
2++ – -~!delete new typeof void一元运算符、返回数据类型、对象创建、未定 义的值从右向左
3*、/、%相乘、相除、求余数从左向右
4+、-相加、相减、字符串串联从左向右
5<<、>>、>>>左位移、右位移、无符号右移从左向右
6<、<=、>、>=、instanceof小于、小于或等于、大于、大于或等于、是否 为特定类的实例从左向右
7、!=、=、!==相等、不相等、全等,不全等从左向右
8&按位“与”从左向右
9^按位“异或”从左向右
10|按位“或”从左向右
11&&短路与(逻辑“与”)从左向右
12||短路或(逻辑“或”)从左向右
13?:条件运算符从右向左
14=、+=、-=、*=、/=、%=、&=、|=、^=、<、<=、>、>=、>>=混合赋值运算符从右向左
15,多个计算按优先级计算,然后从右向左

在这里插入图片描述
每日一句

愁人苦夜长,志士惜日短。

javascript完全自学手册 目 录 第1篇 JavaScript基础篇 第1章 JavaScript简介 1 1.1 JavaScript概述 1 1.1.1 什么是JavaScript 1 1.1.2 JavaScript的基本特点 2 1.1.3 常用的Web开发语言 3 1.2 JavaScript的应用 4 1.2.1 客户端应用 5 1.2.2 服务器端应用 5 1.3 在Web页面中使用JavaScript 5 1.3.1 HTML的基本结构 5 1.3.2 在HTML中嵌入JavaScript 7 1.3.3 链接JavaScript文件 9 1.4 编写JavaScript的工具 11 1.4.1 使用纯文本编辑器 11 1.4.2 使用专业化脚本编辑工具 13 1.4.3 使用Microsoft脚本编辑器 15 第2章 JavaScript编程基础 19 2.1 基础语法 19 2.1.1 数据类型 19 2.1.2 变量和常量 22 2.1.3 表达式 24 2.1.4 运算符 24 2.2 流程控制 27 2.2.1 条件语句 27 2.2.2 循环语句 30 2.2.3 其他语句 35 2.3 使用对话框 38 2.3.1 警告对话框 38 2.3.2 确认对话框 40 2.3.3 提示对话框 40 第2篇 JavaScript内置对象篇 第3章 JavaScript内置对象 43 3.1 JavaScript对象概述 43 3.1.1 对象的概念 43 3.1.2 使用JavaScript对象 基础知识 44 3.2 Array对象 46 3.2.1 创建Array对象 46 3.2.2 Array对象属性 47 3.2.3 Array对象方法 48 3.3 String对象 51 3.3.1 创建String对象 51 3.3.2 String对象属性 51 3.3.3 String对象方法 53 3.4 Math对象 56 3.5 Date对象 62 3.5.1 Date对象方法 62 3.5.2 使用Date对象 63 3.6 自定义对象 67 第4章 JavaScript常用对象 73 4.1 Document对象 73 4.1.1 Document对象概述 73 4.1.2 使用Document对象 75 4.2 Form对象及其元素 79 4.2.1 Form对象概述 79 4.2.2 表单元素 80 4.2.3 表单元素属性和事件 82 4.2.4 表单验证 85 4.3 Anchor与Link对象 89 4.3.1 Anchor对象 89 4.3.2 Link对象 90 4.4 Image对象 92 4.4.1 图像翻转 92 4.4.2 图像载入 92 第5章 JavaScript其他常用 窗口对象 96 5.1 Window对象 96 5.1.1 常用属性和方法 97 5.1.2 多窗口控制 100 5.2 Screen对象 103 5.3 Navigator对象 105 5.4 Location对象 107 5.4.1 常用属性和方法 107 5.4.2 Location对象的应用实例 109 5.5 History对象 112 5.5.1 常用属性和方法 112 5.5.2 History对象的应用实例 113 5.6 Frame对象 115 5.6.1 Frame对象概述 115 5.6.2 常用属性 116 5.6.3 Frame对象的应用实例 117 第6章 DOM对象 122 6.1 DOM概述 122 6.1.1 DOM简介 122 6.1.2 DOM与HTML文档 124 6.2 DOM对象 125 6.2.1 DOM基本接口 125 6.2.2 DOM基本对象 128 6.3 使用DOM 128 6.3.1 DOM基础 129 6.3.2 Node和NodeList接口 131 6.3.3 Element接口 134 6.3.4 Text接口和Attr接口 136 6.4 操作HTML文档 138 6.4.1 访问元素 138 6.4.2 添加节点 140 6.4.3 删除节点 142 6.4.4 对属性进行操作 146 第3篇 JavaScript高级编程篇 第7章 正则表达式 151 7.1 正则表达式及其作用 151 7.2 正则表达式参考语法 152 7.2.1 限定符 154 7.2.2 选择匹配符 157 7.2.3 分组组合
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈工程师MrL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值