JS基础入门篇(七)—运算符
1.算术运算符
1.算术运算符
- 算术运算符:+ ,— ,* ,/ ,%(取余) ,++ ,-- 。
- 重点:++和--前置和后置的区别。
1.1 前置 ++ 和 后置 ++
前置++:先自增值,再使用值。
后置++:先使用值,再自增值。
<script>
console.log("-------- 后置++ ----------");
var a=0;
console.log(a++);//0,后置是先用值,在自增值。
console.log(a);//1 自增后的值
console.log("-------- 前置++ ----------");
var b=2;
console.log(++b);//3 前置是先自增,后用值。
console.log(b);//3
console.log("-------- 后置++ ----------");
var d = 2;
var e = d++;// 后置是先用值,在自增值。
console.log( d,e );//3 2
console.log( "--------- 前置++ -------------" );
var f = 20;
var g = ++f;// 前置是先自增,后用值。
console.log( f,g );//21 21;
</script>
2.赋值运算符
2.赋值运算符
- 赋值运算符:+= ,—=*,= ,/= ,%= 。
- 计算完值后,并赋值给自己。
3.关系运算符
3.关系运算符
- <= , >= , == , != , === , !== 。
- 注意:返回的值都是布尔值。
3.1 == 和 === 的区别
- == 进行比较的时候,会比较 两者的内容,不进行数据类型的比较。
- === 不仅判断内容 ,还会判断 数据类型。
<script>
console.log(1=="1");//true 只比较内容,内容相等故为真。
console.log(1==="1");//false 不仅比较内容,还比较数据类型。数据类型不为真,故假。
console.log( 1 != "1" );//false
console.log( 1 !== "1" );//true
</script>
3.2需要记忆的内容
<script>
console.log( null == undefined );//true
console.log( null == 0 );//false
console.log( undefined == 0 );//false
</script>
4.逻辑运算符
- && (并且)
如果左边为真,返回右边的值。
如果左边为假,返回左边的值。 - || (或者)
如果左边为真,返回左边的值。
如果左边为假,返回右边的值 - ! (否)
把 !后面的数转成布尔值然后取反
<script>
console.log( 1 && 2 );//2
console.log( 0 && 2 );//0
console.log( 0 && "a" );//0
function fn(){
console.log("fn执行了");
}
false && fn();//不执行fn();
true && fn();//执行fn();
undefined && fn();//不执行fn();
console.log( 0 || 1 );//1
console.log( 2 || 1 );//2
var res = "a" || "b";
console.log( res );//"a"
console.log( !"false" );//"false"
</script>
5.三目运算符
三目运算符: 判断条件 ? 语句 1 : 语句 2
判断条件 成立 执行语句 1
不成立 执行语句 2
6.数组的存储
数组赋值的时候,传递的是数组的地址。
<script>
var a = 1;
var b = a; // 传值,把a的值给b
a = 2;
console.log( b );//得到的值是1.
//------------------------------------------
var arr = ["a","b"];
var res = arr; // 传址,赋址
arr[0] = 1;
console.log( arr );//根据地址找数组,得到的是["1","b"]
console.log( res );//根据地址找数组,得到的是["1","b"]
//------------------------------------------
var arr1 = ["a","b"];
var res1 = ["a","b"];
arr1[0] = 1;
//arr1数组的地址和res1数组的地址不相同,虽然内容相同。
console.log( arr1 );//根据地址找数组,得到的是["1","b"]
console.log( res1 );//根据地址找数组,得到的是[a","b"]
</script>JS基础入门篇(七)—运算符的更多相关文章
- JS基础入门篇(三十五)—面向对象(二)
如果没有面向对象这种抽象概念的小伙伴,建议先看一下我写的JS基础入门篇(三十四)-面向对象(一)
- JS基础入门篇(二十七)—BOM
虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...
- JS基础入门篇(六)— 数据类型
1.数据类型 数据类型:我感觉就是对数据的种类进行分类.就好比把人分为儿童,青少年,中年,老年一样. 基础数据类型: Number(数字),String(字符串),Null(空),Undefined( ...
- JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )
1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...
- JS基础入门篇(三)— for循环,取余,取整。
1.for循环 1.for的基本简介 作用: 根据一定的条件,重复地执行一行或多行代码 语法: for( 初始化 ; 判断条件 ; 条件改变 ){ 代码块 } 2.for循环的执行顺序 <bod ...
- JS基础入门篇(四)—this的使用,模拟单选框,选项卡和复选框
1.this的使用 this js中的关键字 js内部已经定义好了,可以不声明 直接使用 this的指向问题 1. 在函数外部使用 this指向的是window 2. 在函数内部使用 有名函数 直接调 ...
- JS基础入门篇(二十四)—DOM(下)
1.offsetLeft/offsetTop offsetLeft/offsetTop : 到定位父级节点的距离. <!DOCTYPE html> <html lang=" ...
- JS基础入门篇(三十四)— 面向对象(一)
1.对象 对象的定义 : 对象 是 由 键值对 组成的无序集合. 创建对象两种方法 : 方法一 : 字面量方法 var obj = {name: "k"}; 方法二 : new O ...
- JS基础入门篇(四十三)—ES6(二)
1.对象简洁表示法 原来写法 var name = "lzf"; var gender = "male"; var fn = function(){consol ...
随机推荐
- Linux shell - 重命名文件和文件夹(mv)
linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c
- 转:KVM使用NAT联网并为VM配置iptables端口转发,kvmiptables
转载地址:https://www.ilanni.com/?p=7016 在前面的文章中,我们介绍KVM的虚拟机(以下简称VM)都是通过桥接方式进行联网的. 本篇文章我们来介绍KVM的VM通过NAT方式 ...
- ORACLE Physical Standby DG 之switch over
DG架构图如下: 计划,切换之后的架构图: DG切换: 主备切换:这里所有的数据库数据文件.日志文件的路径是一致的 [旧主库]主库primarydb切换为备库standby3主库检查switchove ...
- 数位dp好题整理+自己wa过的细节记录
花(fa)神的数论题 三倍经验:烦人的数学作业 windy数 手机号码 同类分布(博客先鸽着) 板子固然好,细节无限多. 花式wa题法,警示后来人. 1.手残害人不浅 (蒟蒻的我掉坑里不止一次) 2. ...
- ScheduledThreadPoolExecutor 源码分析
ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor 是能够在给定的延时之后.或周期性执行被提交任务的线程池 创建实例 /** * 线程池关闭 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_3_练习_使用递归计算阶乘
结束条件是乘到 当前数字等于1
- source ~/.bash_profile是什么意思
~ 这个符号表示你的家目录,.bash_profile 是一个隐藏文件,主要是用来配置bash shell的,source -/.bash_profile 就是让这个配置文件在修改后立即生效.
- vue组件兄弟间通信
四.兄弟组件间通信(event) 借助于一个公共的Vue的实例对象,不同的组件可以通过该对象完成事件的绑定和触发 var bus = new Vue(); bus.$emit()bus.$on() 熊 ...
- 【HANA系列】SAP HANA快捷键大全
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA快捷键大全 ...
- python-backports.ssl-match-hostname 安装问题
转载请标明本文链接:(https://www.cnblogs.com/softwarecb/p/python-backports-ssl.html) 系统版本Ubuntu14.04 因为要用Conta ...