:-: 知識點清單
* * * * *
- 一個變量如果沒有定義輸出的undefined
- 聲明提前原則:變量默認會在前面聲明,賦值時的內容在后面。
- 使用var后聲明變量先使用不報錯 使用let 賦值先使用在賦值時會報錯。
- 在沒有寫var時賦值時 會默認的給補一個var
- 使用'use strict'嚴格模式 在使用時必須嚴格先var再使用
- typeof 查看變量的數據類型
- 單引號和雙引號包裹的都是string類型
- 聲明一個變量值為null時在控制臺輸出的是object
- 定義數組 var arr =[1,2,3];
- 定義函數:function name(){ 函數體 }
- 箭頭函數: var demo =()=>{ 函數體 }
- json對象:
~~~
var tongjianshe={
name:"tongjianshe",age:20,sex:"male"
console.log(tongjianshe.name)
Console.log(tongjianshe["name"]);
}
~~~
- 在es5中 var namn="tong" ;var age=30; var tong={name:name age:age}
- 在es6中 var tong={name age}
- 在函數中如果不使用var關鍵字聲明一個變量時 系統會默認的將其視為全局變量在函數體外可以看到使用typeof查看屬性不是undefined
- 算數的加減乘除運算底層自動轉換成number型進行計算如果轉換不了那么就是nan型 nan和其他類型做運算的值還為nan
- NaN 屬性是代表非數字值的特殊值。該屬性用于指示某個值不是數字。
- const用來定義常量(不能修改)
- 轉義符使用:/(在要輸出的內容前加一個單斜杠)
- ===嚴格相等值和類型都相等
- var age=window.prompt("彈出窗口友好的提示")
- string->number:使用parseint() parsefloat() (注意:string的開頭第一個要-以數字開頭,如果不以數字開頭輸出的是nan)
### `if` 語句和 `switch case`語句
~~~
<script>
// if語句中()的值接收boolean類型,如果不是boolean會強制轉換成boolean
// 只有五種情況下的轉化成boolean型時false 0,"",nan,undefu,null其他都為true
var x = 1;
switch (x) {
case 1:{
console.log('x 等于1');
break;
}
case 2:{
console.log('x 等于2');
break;
}
default:
console.log('x 等于其他值');
}
</script>
~~~
### tostring
~~~
<script>
// x.toString(); x不是undefined或null時,才可用
// String(x)
var a = "true";
console.log(a.toString())
</script>
~~~
### other-->boolean 使用 boolean();
~~~
就這五種情況為false
"", 0 ,nan,nudefined, null,-->false
其他情況都是true
~~~
## this
~~~
javascrip的頂級作用域是window,全局變量是window的屬性,函數是window的方法;
this的指向:
1.在事件中,this指向正在執行事情的當前對象
2.在方法中,誰調用方法,this指向誰
eg:
var a=10;
//window.a=10;
function b(){
console.log(this.a);
}
//window.b();
b();
console.log(window.a);
~~~
## 前加加 后加加
~~~
后加加的那個加加并不參數值運算,等表達式計算完畢 然后后加加的值再自增
前加加相反
eg:
b+=++a
a=1 b=2
2+=2
b=4,a=2
b+=a++
2+=1,然后a=2
~~~
## for循環
~~~
for循環里面使用var 定義變量 在大括號外面也可以讀到因為在es5中js沒有塊級作用域 在es6中使用let來聲明一個變量 在大括號以外是看不到的
break;跳出當前循環
continue是結束上層循環的當前循環 繼續進行下一次循環
~~~
## 點擊隱藏 顯示
~~~
HTML DOM classList 屬性下的toggle方法
toggle(class, true|false) 在元素中切換類名。
hide.classList.toggle("none");點擊按鈕顯示和隱藏
第一個參數為要在元素中移除的類名,并返回 false。
如果該類名不存在則會在元素中添加類名,并返回 true。
~~~
## js dom下的常用屬性
~~~
document.getElementsByTagName("li")//獲得元素名
document.querySelectorAll(".content>div"); //支持css里面的所有選擇器--萬能選擇器
getComputedStyle(類名).樣式
~~~
return: 就是函數的一個執行結果 return語句執行后就會終止執行
~~~
function a(){
return 1;
console.log(123);
}
var b=a();
console.log(b);
~~~
- JavaScript介紹
- js基本語法
- 調試方法
- 標識符
- 數據類型(基本,引用)
- 基本數據類型
- 引用數據類型
- 嚴格模式.
- 全局變量和局部變量
- DOM 節點
- DOM 改變元素內容(樣式 內容)
- 節點改變元素內容(通過父子節點找到元素然后操作)
- 添加元素
- 設置 移除 屬性
- DOM下的事件
- 知識點整理
- 異步
- Ajax
- this指向問題
- 設備類型檢測(手機 平板 電腦)
- 函數
- 函數的參數
- 重載
- 數據類型
- 構造函數
- 返回上一個網頁
- 數組 (重點)
- 增加數組內容
- 刪除數組元素
- 復制數組
- 修改數組元素(功能強大實現 增 刪 改)
- 數組元素查詢
- 數組遍歷
- 最值
- 展開語法
- join
- 排序問題
- 求和
- 顛倒數組
- 判斷是不是一個數組
- 二維數組
- 數組和字符串之間轉換
- 數組去重
- 將jquery對象轉為javascript對象
- 元素偏移量
- 獲取一個元素距離頂部的距離
- 可視區域寬高
- 布局視口 (移動設備)
- 文檔碎片
- 表格中的 thead tbody
- 獲取元素寬度
- 滾動區域寬高
- div滾動條設置
- 使用 offsetWidth 設置父元素寬度和子元素寬度之和一樣
- 字符串的方法
- js功能實現
- 點擊顯示 隱藏
- 點擊變色 兄弟元素隱藏.
- 點擊顯示隱藏區域.
- 兼容性問題.
- 選擇按鈕,
- 獲取外部樣式
- 點擊彈出下標
- 通過屬性改變img 的src
- 小米登錄 es6實現js
- try catch
- 小米登錄es5實現js
- js實現導航欄點擊加載多個頁面
- js實現網頁之間的跳轉和在指定div加載頁面
- iframe 高度實現自適應
- js 獲取滾動條距離頂端的距離
- jQuery animate() 方法 動畫效果
- fade(js實現遮罩層漸變色)
- js輪播實現
- 超哥輪播js
- 輪播動畫原理
- 數組實現瀑布流
- 電子表計時器date
- 從豆瓣接口上取數據實現搜索功能(重點!!!!)
- 封裝
- 不使用js-ajax 使用VueResource實現數據請求
- 需要常看的知識點
- 移動端響應布局rem
- rem+vw
- 原型
- JS的模塊化如何解決
- ES5和ES6模塊化寫法
- js內置對象
- 結構賦值es6
- 字符串模板 分割字符串
- 談基本數據類型中的方法(本不帶有方法)
- Math
- date
- 正則
- 備選字符集
- 連號的備選字符集
- replace() 查找替換(過濾)
- 量詞
- 不確定的數量
- search找下標
- test()檢驗是否包含正則表達式
- 實例
- 驗證電話號碼
- 郵箱驗證
- 將指定內容過濾(天貓 淘寶)
- 預定義字符集(簡化)
- 嚴格匹配 ^ $
- Ajax
- http get post
- $.get()和$.post()詳解
- jquery-ajax 數據請求
- 使用Vue Ajax在網頁中渲染數據
- axios向服務器端get,post數據(重點)
- 跨域
- 原生Ajax
- 原理步驟 json解析字符串
- 多態
- js中的面向對象
- js中的類和繼承
- 原型和原型鏈
- 參數表達式
- 字符串中常用的方法
- mock.js
- scrollReveal 滾動顯示
- Node.js模塊里exports與module.exports的區別