[TOC]
### 1.算術計算
> /* +,-,*,/,% */
* * * * *
將先兩邊的值轉為Number再計算
特殊:+運算例外
~~~
var a="12";
var b = 3;
var c ="12px";
var d;
// console.log(Number(a)-b);
console.log(a-b);
// console.log(Number(c)-b) NaN和其他的值做運算,結果還是為NaN
console.log(c-b);
// console.log(Number(a)-Number(d));
console.log(a-d);
~~~
#### 1.1+特殊
> 算術計算中 `+`
作用:拼接符
只要一邊的值為字符串,那么結果就是字符串
~~~
var a = "10";
var b= "50";
var c = 40;
console.log(a+b);
console.log(b+c);
~~~
### 2. 比較運算
~~~
>,<,<=,>=,==,!=,===
比較運算中,先將兩邊的值轉換為number,再比較
結果返回boolean
===不僅值相同,類型也要相同
var a=true;
var b=1;
var c="12";
var d = false;
console.log(a===b);
console.log(c>b);
console.log(b<d);
~~~
#### 2.1特殊-->`==`
~~~
***(了解)
1.倘若有一邊的值為boolean,那么先將boolean-->number再比較
2.倘若一邊為字符串,一邊為number,那么string-->number再比較
3.null==undefined
4.NaN不能任何值計算,結果都為NaN
NaN!=NaN //-->true
5.null和undefined比較之前不能將其轉為其它類型
***
0,"",NaN,undefined,null
console.log(Number("")); //0
console.log(Number(null)); //0
console.log(0==""); //true
console.log(NaN!=NaN) //true
console.log(null===undefined); //false
console.log(null==0); //false
~~~
### 3. 邏輯運算
~~~
<style>
div{
width:100px;
height:100px;
background: red;
}
</style>
~~~
~~~
<div id="tes" class="test"></div>
<script>
var test = document.getElementById("test") || document.getElementsByClassName("test")[0];
console.log(test);
test.onclick = function(){
this.style.backgroundColor = "green"
}
</script>
~~~
~~~
&&,||,!
結果返回boolean值
&& 兩邊都為true,結果為true
|| 只要一遍為true,結果為true
!-->取反
var a = 10;
var b = 20;
var c = 30;
var d = 40;
console.log(a<b && c>d);
console.log(a<b && c<d);
console.log(a<b || c>d);
console.log(!(a>b))
~~~
### 4.賦值運算
* +=,-=,*=,/=,%=
> 前++,先自增,后運算
> 后++,先運算,后自增
~~~
var a =10;
var b = 20;
b+=++a;
console.log(a); //11
/* b=b+a */;
c=a++;
console.log(c); //11
console.log(a); //12
console.log(b); //31
a++;
console.log(a); //13
~~~
### 5. 三目運算
~~~
var a =(10<5)?"大于":"小于"; //判斷為真,輸出前面的,判斷為假,輸出后面的
console.log(a); //小于
~~~
### 6. 練習
~~~
console.log(""||"abc"); //"abc"
console.log(0 == ''); //true
function b(){
}
console.log(typeof b);//function
~~~
- 效果實例
- 1.點擊增加高度
- 2.tab頁面切換
- 3. 列表切換
- 4. 隔行變色
- 5. swiper 輪播
- 6.vue
- 7.定時器
- 8. 向表格中添加數據
- 9 瀑布流
- 1.JavaScript基礎
- 1. 變量
- 2. 調試
- 3.數據類型
- 4.轉換
- 5.控制語句
- 6.運算
- 7. this
- 8 JSON對象和javascript對象的相互轉換
- 2.JavaScript的控制語句
- 1. 基本控制語句
- 2.節點
- 2.1DOM補充
- 3. 函數
- js的模塊化如何解決
- 不知道有什么用的
- 4.數組
- 5. String
- 補充
- 6.Ajax
- 1. 原生Ajax
- 2. HTTP/get/post
- 3.jQuery-Ajax
- 4.跨域
- 5.axios
- 6.封裝
- Ajax效果
- ajax補充
- 7. 正則
- 1.創建正則表達式
- 2. 正則的api
- 3.正則語法
- 4.例子
- 量詞
- 8.面向對象
- 1.原型
- ES6
- 模塊化
- 1.回調地獄
- 什么是回調地獄
- 簡單封裝
- promise解決回調地獄
- generator解決回調地獄
- async解決回調地獄
- 2.封裝
- Ajax,promise
- JavaScript難點
- 1. 閉包/作用域
- 2.原型鏈
- 3. 兼容性
- 適配
- JavaScript小效果
- 字符串截取