JavaScript学习笔记——运算符和表达式
javascript运算符
一、运算符和操作数的组合就称为表达式。
二、javascript运算符
(一) 算术运算符
+ - * / % var++ ++var var-- --var
A. +
(1) 用于数值的运算
(2) 用于字符串的连接
***************************
任何的数据类型和字符串相加都是等于相加以后的字符串
*************************
B. %
(1)用于取余数,判断奇数或者是偶数
(2)一般不用于小数,因为结果不确定。
C. var++和++var
++在前面,自己先加,然后再赋值。
++在后面,先赋值,然后自己再加。
(二) 关系运算符(比较运算符)
< > <= >= == === != !==
(1)他运算的结果都是布尔值
(2)都是字符串的时候,他会先转换成ASCII码然后进行比较他们的第一个字母。
(3)都是数值的时候,他会正常比较
(4)当一个字符串,另一个是数值的时候,把字符串尝试转换成数值类型,然后进行比较,如果不能转换成数值类型,则会返回NaN,然后返回假
(5) undefined null
(6)如果两个都是数值型字符串,那么他们也是只比较第一个
(7)如果一个数值和布尔值进行比较,会把布尔值转换为数值再进行比较,true为1,false为 0
A. == 只比较值是否相等
(1) 比较字符串的时候是比较他们的ASCII码是否相等
(2) 比较两个数值的时候是比较他们的数值是否相等
(3) 比较函数的时候,判断他们的内存位置是否相等。
B. === 不但比较值是否相等,还比较类型是否相等。
(三) 赋值运算符
= += -= *= /= %=
A. +=
var a=1;
a+=3; a=a+3
(1) 用于数值的相加再赋值
(2) 用于字符串的连接再赋值
***************************
任何的数据类型和字符串相加都是等于相加以后的字符串
*************************
(四) 逻辑运算符(布尔运算符)
与 and && 或 or || 非not !
A. &&
if(a && b){
alert("两个都是真的");
}else{
alert("至少有一个是假的")
}
运算符两边只要有一个是假,那么他的运算结果就是假,只有两个都为真的时候,运算结果才是真的。
B.||
if(a || b){
alert("至少有一个是真的");
}else{
alert("两个都是假的")
}
运算符两边只要有一个是真的那么他就是真的,只有当两个都是假的时候,他才是假的。
C.not !
取反,假的变成真的,真的变成假的。
(1)逻辑运算符可以对任何类型的数据进行运算但是在运算的时候,可以转换为对应的布尔值
转换的规则
Undefined-->false
Null-->false
Boolean-->就是本身的值
Number-->除了0以外都是真的
String-->除了空字符串意外都是真的
对象-->真的
(2)类变量进行赋值
var a= b && c
如果一个运算数是对象,另一个是 Boolean 值,返回该对象。
如果两个运算数都是对象,返回第二个对象。
如果某个运算数是 null,返回 null。
如果某个运算数是 NaN,返回 NaN。
如果某个运算数是 undefined,发生错误。
var a=b ||c
如果一个运算数是对象,并且该对象左边的运算数值均为 false,则返回该对象。
如果两个运算数都是对象,返回第一个对象。
如果最后一个运算数是 null,并且其他运算数值均为 false,则返回 null。
如果最后一个运算数是 NaN,并且其他运算数值均为 false,则返回 NaN。
如果某个运算数是 undefined,发生错误。
(五) 一元运算符
typeof + - delete new ++ --
A. +
正号、正数
B.delete
删除对象的方法或是属性
C.new
用来创建一个对象
(六) 特殊的运算符
, () = ? :
A. ,
用来一次声明多个变量
B.()
(1) 运算的时候有优先级的作用
a*(b-c)
(2) 运行一段函数
C.根据表达式的计算结果有条件的为变量赋值
格式: var 变量= Boolean expression?真值:假值
(七) 位运算符
JavaScript学习笔记——运算符和表达式的更多相关文章
- Dart学习笔记-运算符-条件表达式-类型转换
Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ...
- 【Python】2.14&2.15学习笔记 运算符与表达式
太爽了,今天可以尽情熬夜了,明天不上课,可以学一整天\(Python\) 运算符 \(+,-,*,%\)就不说了,说几个和\(c\)不太一样的 除法 print( 5/3 ) 输出了\(1.66666 ...
- JavaScript:学习笔记(8)——对象扩展运算符
JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...
- JavaScript:学习笔记(6)——New运算符
JavaScript:学习笔记(6)——New运算符 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例. 快速开始 当你使用new关键字的时候,会 创建一个新的对象 将th ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- JavaScript:学习笔记(5)——箭头函数=>以及实践
JavaScript:学习笔记(5)——箭头函数=>以及实践 ES6标准新增了一种新的函数:Arrow Function(箭头函数).本文参考的链接如下: MDN箭头函数:https://dev ...
- JavaScript:学习笔记(2)——基本概念与数据类型
JavaScript:学习笔记(2)——基本概念与数据类型 语法 1.区分大小写.Test 和 test 是完全不同的两个变量. 2.语句最好以分号结束,也就是说不以分号结束也可以. 变量 1.JS的 ...
- Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
随机推荐
- linux系统下who&who am i与whoami的区别,以及与select * from dba_users的区别
who am i :表示登录此虚拟机(或者计算机)时,使用的操作系统级别用户名称 whoami:表示当前正在使用的操作系统级别用户名称 select username from dba_users;查 ...
- Linux_Shell_输出重定向
创建两个文件:touch 1 touch2 命令 > 文件 以覆盖的方式输出正确信息到文件或设备ls > 1 命令 >> 文件 以追加的方式输出正确信息到文件或设备l ...
- 如何改变tableview的section的颜色
方法一:调用 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ UIV ...
- js-读取上传文件后缀
/** * 读取文件后缀名称,并转化成小写 * @param file_name * @returns */ function houzuiToLowerCase(file_name) { if (f ...
- win10 google浏览器设置
在浏览器地址栏中输入命令: chrome://flags/ 撤销:chrome设置了禁止此页弹出提示框 chrome://settings/contentExceptions#popups
- Asp.net Mvc 使用EF6 code first 方式连接MySQL总结
最近由于服务器变更为Linux系统.MsSql for Linux什么时候出来到生产环境使用还是要很长时间的.于是考虑使用Mysql数据库,ORM使用EF.于是先踩下坑顺便记录一下,有需要的tx可以参 ...
- c# 导入导出Excel
1.引用两个js Codaxy.Xlio.dllCodaxy.Xlio.XmlSerializers.dll 2.导出 public string EntityListToExcel(string p ...
- 二叉查找树 C++实现(含完整代码)
一般二叉树的查找是通过遍历整棵二叉树实现,效率较低.二叉查找树是一种特殊的二叉树,可以提高查找的效率.二叉查找树又称为二叉排序树或二叉搜索树. 二叉查找树的定义 二叉排序树(Binary Search ...
- BZOJ 1111: [POI2007]四进制的天平Wag
1111: [POI2007]四进制的天平Wag Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 223 Solved: 151[Submit][St ...
- ubuntu下编译caffe
Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...