js基礎內容
1.方法
Math數學物件
| 方法 | 解釋/示例 | |
|---|---|---|
| 獲取圓周率 | Math.PI | 3.1415926535897 |
| 求絕對值 | Math.abs(num) | |
| 求M的N次方 | Math.pow(m,n) | |
| 求最大值 | Math.max(num1,num2,num3…) | |
| 求最小值 | Math.min(num1,num2,num3…) | |
| 向上取整 | Math.ceil(Float) | |
| 向下取整 | Math.floor(Float) | |
| 取[0,1)之間的亂數 | Math.random() | |
| 取[min,max]之間的亂數 | Math.floor(Math.random()*(max+1-min))+min |
Date物件
| 方法 | 解釋/示例 |
|---|---|
| new Date() | 獲取當前時間資訊 |
| new Date(年,月,日,時,分,秒) | 轉換指定時間 |
| Date.toLocaleDateString() | 2021/5/26 |
| Date.toLocaleTimeString() | 下午4:57:34 |
| Date.toLocaleString() | 2021/5/26下午4:57:34 |
| Date.getFullYear() | 年 |
| Date.getMonth() | 月 |
| Date.getDate() | 日 |
| Date.getDay() | 星期幾 |
| Date.getHours() | 時 |
| Date.getMinues() | 分 |
| Date.getSeconds() | 秒 |
| Date.getTime() | 時間戳 |
| Date.getMilliseconds() | 毫秒 |
String物件
| 方法 | 解釋/示例 |
|---|---|
| String.padStart(length,內容) | 當字串不滿足length長度時,在前面添加內容,可以多字符 |
| String.padEnd(length,內容) | 當字串不滿足length長度時,在后面添加內容,可以多字符 |
| String.indexOf(內容) | 查找內容首次出現的位置,回傳數字,找不到回傳-1 |
| String.lastIndexOf(內容) | 查找內容最后一次出現的位置,回傳數字,找不到回傳-1 |
| String.substr(start,length) | 在字符中str中從strart開始讀取length個字符 |
| String.split(分割符) | 在字串中使用分割符進行分割,并以陣列回傳 |
| String.replace(‘a’,‘b’) | 用b替換a,回傳一個新的字串,可以用正則 |
| String.match(‘a’,‘b’) | 搜索匹配,然后回傳匹配的字串,可以用正則 |
| String.search(‘a’,‘b’) | 搜索匹配,然后回傳匹配的位置,可以用正則 |
| String.slice(start,end) | 字符中str中從strart開始讀取到end的位置結束 |
| String.toLowerCase() | 轉為小寫 |
| String.toUpperCase() | 轉為大寫 |
| String.charAt(n) | 字串中第n個字符,等價于str[n] |
| String.trim() | 洗掉前、 后所有空格符 |
| String.repeat(n) | 復制n次 |
Array物件
| 方法 | 解釋/示例 |
|---|---|
| arr1.concat(arr2) | 合并陣列,將arr2合并到arr1的尾部 |
| arr.join(連接符) | 拼接陣列元素為字串,連接符可以用‘’為空 |
| arr.reverse() | 翻轉陣列 |
| arr.pop(str) | 從尾部洗掉,回傳洗掉的字串 |
| arr.push(str) | 從尾部追加,回傳陣列長度 |
| arr.shift(str) | 從頭部洗掉,回傳洗掉的字串 |
| arr.unshift(str) | 向頭部添加,回傳陣列長度 |
| arr.splice(start[,num[,e1,e2,e3…]]) | 在中間進行洗掉或洗掉與添加 |
| arr**.sort((a,b)=>{return a - b;})** | 排序,提供一個 回呼函式,a-b升序,b-a降序 |
arr.sort(function(a,b){
return a - b;
})
2. 函式及其他
-
isNaN(變數) 檢測數字是不是非數字,也可以檢測字符是否是純數字字符
-
用于轉換以數字開頭的字串
parseInt(字串)
parseFloat(字串)
- typeof 變數,檢測變數型別,它不是函式
- Array.isArray() 主要用于檢測是否是陣列,回傳真或者假
- instanceof 檢測物件是由哪種建構式實體化所得,也可以檢測復制型別,
- typeof 變數 === ‘object’ && !(Array.isArray(變數))
- valueOf
webAPI內容
1.方法
DOM
獲取元素方法:
| 方法 | 解釋/示例 | 元素個數 |
|---|---|---|
| document.getElementById(‘id’) | 根據id獲取元素 | 1 |
| document.getElementsByTagName(‘標簽名’) | 根據標簽名獲取元素串列 | 偽陣列 |
| document.getElementsByClassName(‘類名’) | 根據類名獲取元素串列 | 偽陣列 |
| document.querySelector(‘CSS選擇器’) | ★根據CSS選擇器獲取元素 | 1 |
| document.querySelectorAll(‘CSS選擇器’) | ★根據CSS選擇器獲取元素 | 偽陣列 |
| document.body | 找到body | 1 |
| document.head | 找到head | 1 |
| document.documentElement | 找到html | 1 |
修改樣式
| 方法 | 解釋/示例 |
|---|---|
| 物件.style.樣式名 | 修改元素節點的CSS樣式 |
| .className | 修改標簽類名 |
| .classlist | ★修改標簽類名,偽陣列 |
| .classlist.add(類名) | 添加一個類也可以添加多個,逗號隔開 |
| .classlist.remove(類名) | 洗掉一個類也可以洗掉多個,逗號隔開 |
| .classlist.toggle(類名) | 切換一個類,沒有就添加,有就洗掉 |
| .classlist.contains(類名) | 判斷是否有某個類 |
| .classlist.replace(類名) | 替換某個類 |
| getComputedStyle(標簽元素,偽元素).樣式名 | 不是獲取偽元素,就用null,有left和right可以替代offsetLeft和offsetRight |
修改屬性
| 方法 | 解釋/示例 |
|---|---|
| .getAttribute(屬性名) | 獲取屬性 |
| .setAttribute(屬性名,屬性值) | 設定屬性 |
| .removeAttribute(屬性名) | 洗掉屬性 |
| data-xxx=’xxx‘ | html中顯示 |
| .dataset.xxx=xxx | 設定屬性,讀取屬性 |
表單元素的屬性
| 方法 | |
|---|---|
| .value | 獲取輸入的內容,文本框 |
| .defaultValue | 讀取默認的值,文本框 |
| .disabled | 是否禁用,給一個true就是禁用,false就是啟用 |
| .checked | 設定單選框、多選框選中,給true就是選中,給false就是不選中 |
| .selected | 設定下拉框默認選中 |
獲取節點方法
| 方法 | 解釋/示例 |
|---|---|
| .parentNode | 找父元素節點 |
| .children | 找子元素,偽陣列 |
| .nextElementSibling | 找下一個兄弟元素 |
| .previousElementSibling | 找上一個兄弟元素 |
| .firstElementChild | 獲取第一個子元素 |
| .lastElementChild | 獲取最后一個子元素 |
| .cloneNode() | 克隆節點,空白或者false為淺克隆,只克隆標簽,true為深克隆,克隆標簽與內容 |
| .childNodes | 找子節點,含元素節點,文本節點 |
| .previousSibling | 找上一個兄弟節點,含元素節點,文本節點 |
| .nextSibling | 找下一個兄弟節點,含元素節點,文本節點 |
| .firstChild | 獲取第一個子節點,含元素節點,文本節點 |
| .lastChild | 獲取最后一個子節點,含元素節點,文本節點 |
| .attributes | 屬性節點,偽陣列 |
| .nodeName | 節點名 |
| .nodeType | 節點型別 |
| .nodeValue | 節點值 |
JSON格式化
| 方法 | 解釋/示例 |
|---|---|
| JSON.stringify(變數) | 將陣列或物件轉換為JSON字串 |
| JSON.parse(變數) | 將JSON字串還原回陣列或物件 |
元素操作
| 方法 | 解釋/示例 |
|---|---|
| document.createElement(‘標簽名’) | 創建出一個空的元素物件,要想看到必須添加給某個父元素 |
| 父元素.appendChild(子元素) | 添加子元素到父元素的最后面,已經存在那就是移動 |
| 父元素.insertBefore(子元素,目標元素) | 添加子元素到目標元素的前面,已經存在那就是移動 |
| 父元素.removeChild(子元素) | 洗掉子元素 |
| 父元素.replaceChild(子元素,被替換的元素) | 替換元素,用子元素替換被替換的元素 |
文字相關
| 方法 | 解釋/示例 |
|---|---|
| .textContent() | 讀取時只會取到文本內容,不能識別標簽,寫入時標簽也當文本 |
| .innerText() | 讀取時只會取到文本內容,不能識別標簽,寫入時標簽也當文本 |
| .innerHTML() | 讀取時取到所有內容(包括標簽),寫入時可以識別標簽 |
BOM
| 方法 | 解釋/示例 |
|---|---|
| history.forword() | 看瀏覽歷史記錄,前進一頁 |
| history.back() | 看瀏覽歷史記錄,后退一頁 |
| location.href=url | 調整到指定URL頁面 |
| location.reload() | 重繪頁面 |
| navigator.userAgent | 查詢UA |
| window.open(url地址,tatarget打開方式,視窗引數) | 打開一個視窗,并回傳一個視窗ID |
| ID.close() | 利用視窗ID關閉視窗 |
| window.close() | 關閉整個瀏覽器視窗 |
| history.go(n) | n為正數為前進n頁,為復數為后退n頁 |
| location.protocol | URL的協議 |
| location.host | URL的主機 |
| location.hostname | URL的主機名 |
| location.port | URL的埠 |
| location.pathname | URL的路徑名 |
| location.search | URL的查詢字串 |
| location.hash | URL的哈希(錨點) |
| screen.availWidth | 螢屏的可用寬度 |
| screen.availHeight | 螢屏的可用高度 |
?坐標相關
| 方法 | 解釋/示例 |
|---|---|
| .offsetWidth | 用于讀取左邊線左側到右邊線右側的距離(C3盒模型下的width) |
| .offsetHeight | 用于讀取上邊線上側到下邊線下側的距離(C3盒模型下的height) |
| .offsetParent | 用于獲取當前元素相對父元素 |
| .offsetLeft | 獲取的是元素左邊線外側與offsetParent左邊線內側之間的距離 |
| .offsetTop | 獲取的是元素上邊線外側與offsetParent上邊線內側之間的距離 |
| .scrollWidth | 獲取內容的寬度 |
| .scrollHeight | 獲取內容的高度 |
| .scrollLeft | 水平滾動的距離(可讀可寫) |
| .scrollTop | 垂直滾動的距離 |
| .clientWidth | 獲取可視區域的寬度 |
| .clientHeight | 獲取可視區域的高度 |
| .clientLeft | 獲取的是元素左邊框的寬度 |
| .clientTop | 獲取的是元素上邊框的寬度 |
event物件
| event物件中的引數 | 解釋/示例 |
|---|---|
| .pageX | 獲取的位置距離檔案左邊的距離 |
| .pageX | 獲取的位置距離檔案上邊的距離 |
| .clientX | 獲取的位置距離視窗左邊的距離 |
| .clientY | 獲取的位置距離視窗上邊的距離 |
| .screenX | 獲取的位置距離螢屏左邊的距離 |
| .screenY | 獲取的位置距離螢屏上邊的距離 |
| .stopPropagation() | 阻止事件冒泡 |
| .eventPhase | 獲取事件階段 |
| .type | 獲取事件名 |
| .target | 代表被點擊的那個目標物件 |
| .preventDefault() | 阻止默認行為, |
| .keycode | 記錄了鍵盤的鍵碼,可以識別哪個案件 |
瀏覽器存盤
| 方法 localStorage與sessionStorage 一樣的用法 | 解釋/示例 |
|---|---|
| localStorage.setItem(名,值) | 將字串保存到本地,需要指定名,值 |
| localStorage.getItem(名) | 從本地讀取資料 |
| localStorage.removeItem(名) | 從本地洗掉資料 |
| localStorage.clear() | 清除本站的本地所有資料 |
2.事件
| 事件監聽 | 事件傳遞型別為可選,為真是事件捕獲,為假是事件冒泡, |
|---|---|
| 元素.addEventListener(‘事件名’,事件函式[,事件傳遞型別]) | 事件監聽,如果要取消事件監聽,事件函式不能使用匿名函式, |
| 元素.removeEventListener(‘事件名’,事件函式名[,事件傳遞型別]) | 移除事件監聽,要取消事件監聽,注冊時需要使用有名函式,才能移除事件監聽, |
滑鼠事件
| 事件名 | 解釋/示例 |
|---|---|
| click | 滑鼠單擊后執行 |
| focus | 獲取游標,主要在輸入框和textarea里 |
| blur | 失去游標,主要在輸入框和textarea里 |
| dblclick | 滑鼠雙擊 |
| mouseover | 滑鼠移入,建議用mousernter |
| mouseout | 滑鼠移出,建議用mouseleave |
| mousemove | 滑鼠移動 |
| mousedown | 滑鼠按下 |
| mouseup | 滑鼠彈起 |
| mouseenter | 滑鼠移入, |
| mouseleave | 滑鼠移出, |
拖拽事件,盒子需要加draggable=“true”,img默認有
| 事件名 | 解釋/示例 |
|---|---|
| dragstart | 拖拽開始 |
| drag | 拖拽中(只要是拖拽中就不斷觸發) |
| dragend | 拖拽結束 |
| dragenter | 拖拽進入,其他元素拖入當前元素時觸發 |
| dragleave | 拖拽離開,其他元素拖出當前元素時觸發 |
| dragover | 拖拽懸停,其他元素在當前元素拖動時觸發,阻止事件默認行為才可以讓drop生效 |
| drop | 拖放 ,其他元素在當前元素釋放時觸發 |
滑鼠相關事件
| 方法 | |
|---|---|
| scroll | 滾動事件 |
| resize | 尺寸改變事件 |
鍵盤事件:
| 事件名,只有文本框和document | 解釋/示例 |
|---|---|
| keydown | 鍵盤按下時出發 |
| keyup | 鍵盤彈起時出發 |
| e.keycode | 記錄了鍵盤的鍵碼,可以識別哪個案件 |
| input.oninput | 輸入框變化時的事件 |
其他事件:
| 方法 | 解釋/示例 |
|---|---|
| window.onload | 頁面加載完成后執行 |
| window.onunload | 頁面關閉之后執行 |
| window.onbeforeunload | 頁面關閉之前執行 |
3.函式及其他:
| 定時器 | |
|---|---|
| setTimeout(函式,N毫秒) | 一次性的定時器,N毫秒后執行一次函式,回傳定時器標識 |
| setInterval(函式,N毫秒) | 重復定時器,每N毫秒都執行一次函式,回傳定時器標識 |
| clearTimeout(定時器標識) | 清除一次性定時器 |
| clearInterval(定時器標識) | 清除重復定時器 |
js高級內容
1.方法:
| 方法 | 解釋/示例 |
|---|---|
| 建構式.prototype | 指向原型物件 |
| 原型物件.constructor | 指向建構式 |
| 物件._proto_ | 指向原型物件 |
| 函式.call(this指向, 實參1,實參2,實參3…) | 改變this的指向 |
| 函式.apply(this指向,引數2) | 改變this的指向,引數2為陣列或偽陣列 |
| 函式.bind(this指向) | 改變this的指向,this的指向不能再次跟更改,相當于沒有了this |
2.函式及其他:
? 判斷基本資料型別用typeof,復雜型別用instanceof
語法:
? 資料 instanceof 建構式名
類和繼承:
class 類名 {
? constructor (形參串列) {
? //定義屬性的地方
? }
? // 方法串列(定義方法的地方)
}
class 類名 extends 父類名 {
constructor (引數串列) {
super(傳引數)
this.xxx
}
// 方法串列
}
正則物件:
| 方法 | 解釋/示例 |
|---|---|
| reg.test(‘str’) | 判斷str里面是否滿足正則條件,是就是TRUE,不然就是FALSE |
| reg.exec(‘str’) | 提取正則規則的str里第一個滿足條件的內容(),沒有則回傳null |
正則元字符與一些其他
| 符號 | 含義 |
|---|---|
| . | 找\r\n以外的字符 |
| \d | 找數字 |
| \D | 非數字 |
| \w | 找_、字母、數字 |
| \W | 找除了_、字母、數字,簡單來說可以理解為除了_以外的符號 |
| \s | 不可見字符 |
| \S | 可見字符 |
| | | 或,左邊或右邊的任意一個 |
| () | 優先得到結果 |
| [] | 中括號里的任意一個 |
| [起點-終點] | 從哪到哪 |
| [^] | 除了中括號里面以外的 |
| ^ | 開頭,注意: [^] 才是負向 直接寫^代表以什么開頭 |
| $ | 結尾,以^$組合起來的中間內容叫嚴格匹配 |
| ? | 0個或1個 |
| * | 0個或多個 |
| + | 1個或多個 |
| {n} | n次 x=n |
| {n,} | 重復n次或更多 x>=n |
| {n,m} | 重復出現的次數比n多但比m少 n<=x<=m |
g 全域匹配 i 忽略大小寫
Jquery內容:
1.方法:
| 方法 | 決議/示例 |
|---|---|
| $(function(){}) | 加載事件,DOM樹加載完畢就立刻呼叫 |
| $(css選擇器) | 獲取DOM元素,獲得是偽陣列 |
| jQuery物件.css(‘樣式名’,‘樣式值’) | 給元素添加css樣式,多個樣式添加用物件的方式,獲取不要給值 |
| jQuery物件.text() | 不加內容只獲取內容,不獲取標簽,加內容為設定內容 |
| jQuery物件.html() | 不加內容只獲取內容和標簽,加內容為設定內容或標簽 |
| jQuery物件.show() | 顯示元素,傳引數1可以加影片時長 |
| jQuery物件.hide() | 隱藏元素 |
| jQuery物件.remove() | 洗掉元素 |
| jq物件.delay(延遲時間).影片 | 影片延時 |
| jq物件.each(function (index, item) {}) | 顯示迭代,第一個引數為下標,第二個引數為每個元素 |
| jq物件.append( 子元素 ) | 添加元素,添加到子元素的最后 |
| jq子元素物件.appendTo( 父元素 ) | 添加元素,添加到子元素的最后 |
| jq元素物件.empty() | 清空自己所有的內容 |
| jq物件.prepend( 子元素 ) | 添加元素,添加到子元素的最前面 |
| jq子元素物件.prependTo( 父元素 ) | 添加元素,添加到子元素的最前面 |
| jq物件.clone() | 都包含標簽本身和內容,傳trye會包含jq事件 |
| .val() | 相當于原生的value,不傳引數就是獲取,傳引數就是設定 |
| jq物件.on(‘事件名’, 回呼函式) | 是jQuery推薦注冊事件的方式 |
| jq物件.on(‘事件名’, ‘選擇器’, 回呼函式) | 事件委托版用法 |
| jq物件.off([‘事件名’]) | 洗掉這個事件名對應的事件,不傳引數洗掉所有jQuery系結的事件 |
| jq物件.attr(‘屬性名’,[屬性值]) | 不傳屬性值就是獲取,傳屬性值就是設定 |
| jq物件.data() | 用data-寫的自定義行內屬性,用這個操作,但是不會修改行內的屬性 |
| jq物件.prop(‘checked’) | 專門用來操作 布爾型別 的行內屬性,如checked |
| let 回傳值 = $.noConflict() | 多庫庫存方法 |
jQuery里的篩選方法
| 名稱 | 描述 |
|---|---|
| jQuery物件.children(selector) | 相當于$(‘ul-li’),子類選擇器,可以傳選擇器篩選 |
| jQuery物件.find(selector) | 相當于$(‘ul li’),后代選擇器,可以傳選擇器篩選 |
| jQuery物件.siblings(selector) | 查找兄弟節點,不包括自己本身,可以傳選擇器篩選 |
| jQuery物件.parent() | 查找父親 |
| jQuery物件.parents(selector) | 不傳查找到li的所有父級元素,可以傳選擇器篩選 |
| jQuery物件.eq(index) | 相當于$(‘li:eq(2)’),index從0開始 |
| jQuery物件.next() | 找下一個兄弟 |
| jQuery物件.prev() | 找上一次兄弟 |
| jQuery物件.nextAll() | 找后面所有兄弟 |
| jQuery物件.prevAll() | 找前面所有兄弟 |
| jQuery物件.end() | 在鏈式編程中,可以回到鏈式編程里的上一個物件 |
| jQuery里的影片 | 描述 |
|---|---|
| .slideUp() | 上滑 |
| .slideDown() | 下滑 |
| .slideToggle() | 上下滑 |
| .fadeIn() | 淡入 |
| .fadeOut() | 淡出 |
| .fadeToggle() | 淡出淡入 |
| .fadeTo([time],[opacity],[liner],[function]) | 用影片效果的方式把透明度改到某個值 |
| .animate({樣式名:樣式值},time,liner,function) | animate影片 |
jQuery中的寬高
菜鳥教程
- 按 ctrl + 滑鼠左鍵點擊,就可以打開這個超鏈接
- [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Q0TQGitR-1632750857494)(D:\Da\自己總結\圖片\jQuery中的寬高.png)]
- width() 和 height()
- 常用
- 獲取的就是寬和高
- innerWidth() 和 innerHeight()
- 獲取的是寬+左右padding、 高+上下paading
- outerWidth() 和 outerHeight()
- 獲取的是 寬 + 左右padding + 左右border 、 高 + 上下padding + 上下border
- outerWidth(true) 和 outerHeight(true)
- 獲取的是 寬 + 左右padding + 左右border + 左右margin、 高 + 上下padding + 上下border + 上下margin
jquery中的offset和position
- offset 獲取的是相對于檔案的位置
- position 獲取的是相對于自身定位所參照的父級元素的位置
scrollLeft() 和 scrollTop()
- scrollLeft獲取往左邊滾出去的距離,scrollTop獲取往上邊滾出去的距離
- 但是要注意原生都是屬性,jQuery都是方法,所以記得是 scrollLeft() 和 scrollTop()
2.事件:
| 方法 | 決議/示例 |
|---|---|
| jq物件.on(‘事件名’, 回呼函式) | 是jQuery推薦注冊事件的方式 |
| jq物件.on(‘事件名’, ‘選擇器’, 回呼函式) | 事件委托版用法 |
Ajax內容:
jQuery里的方法:
| 方法 | 決議/示例 |
|---|---|
| $.get(url,data,success) | get請求,可以用物件形式傳遞 |
| $.post(url,data,success) | post請求,可以用物件形式傳遞 |
| $.ajax(type,url,data,success) | ajax請求,可以用物件形式傳遞 |
| header{key,value} | ajax設定請求頭屬性 |
| contentType:false;processData:false | ajax請求中關閉自帶的編碼屬性 |
| $.ajaxSetup({beforeSend:function(xhr){xhr.setRequestHeader(key,value)}}) | ajax全域設定,設定Send之前設定請求頭屬性 |
| jQuery物件.serialize() | 快速獲取表單域的資料,需要添加name屬性 |
原生:
| 方法 | 決議/示例 |
|---|---|
| audio/video物件.playbackRate | 設定或回傳音頻/視頻的當前播放速度, |
| new FormData(form物件) | 創建FormData物件 |
| fd物件.append(key,value) | fd物件里面加屬性 |
| input物件.files | 獲取檔案輸入框里面的資料 |
| URL.createObjectURL(物件) | 物件轉URL物件 |
| parent | 找父頁面,在子頁面(iframe)里面使用 |
| decodeURI | 解碼URL編碼 |
原生ajax使用:
var xhr = new XMLHttpRequest(); //1.創建一個Ajax物件
xhr.open(‘get’, ‘https://autumnfish.cn/api/joke/list?num=10’) //2.添加open方法
xhr.open(‘post’, ‘http://www.liulongbin.top:3006/api/addbook’)
xhr.onload = function () {} //3.添加回呼函式
? xhr.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”); //4.post請求需要加內容型別
xhr.send(‘bookname=nihao&author=xiexie&publisher=asd’) //get里面內容為空,post需要加內容
模板引擎:
創建一個script type=“text/html” id=“tpl-info” 標簽,id隨意,type固定
<div>{{@title}}</div> //變數里有標簽用@才能識
<div>姓名:{{name}}</div> //正常寫法
{{if vip==1}} //判斷寫法
{{else if vip==2}}
{{else}}
{{/if}}
{{each hobby}} //回圈寫法
- {{$index+1}}-{{$value}}
{{/each}}
注冊時間: {{regTime | getTime}} //函式寫法,getTime為函式,前面為變數
git內容:
| 指令git | 解釋/示例 |
|---|---|
| git init | 初始化倉庫 |
| git config --global user.email “郵箱號” | 設定郵箱 |
| git config --global user.name “用戶名” | 設定用戶名 |
| git add . | 添加到快取區 |
| git commit -m “描述文本” | 提交代碼,并添加描述文本 |
| git status | 查看當前的作業區域是否干凈 |
| git log | 查看每次提交的記錄 |
| git log --oneline | 查看每次提交的記錄,只顯示關鍵資料,也就是一行顯示 |
| git reset --hard 版本號 | 版本回滾命令 |
| git reflog | 可以獲得所有git操作記錄 |
| git remote add origin 倉庫地址 | 鏈接本地倉庫與遠程倉庫 |
| git remote -v | 查看倉庫名字與遠程地址,不加-v只查看名字 |
| git push -u origin master | 推送資料到遠程倉庫,第二次推送不用帶引數 |
| git clone 倉庫地址 | 克隆倉庫到本地 |
| git remote remove origin | 移除遠程倉庫的地址 |
| git branch 分支名 | 創建分支,不加分支名為查詢分支 |
| git checkout 名字名 | 切換分支 |
| git push --set-upstream origin 分支名 | 第一次推送分支,需要先在遠程服務器創建分支 |
| git merge 分支名 | 合并分支 |
| ssh-keygen -t rsa -C “郵箱號” | 生產公鑰 |
| git pull <遠程主機名> <遠程分支名>:<本地分支名> | 遠程分支是與當前分支合并,則冒號后面的部分可以省略, |
node.js內容:
| 物件解構賦值方法 | 解釋/示例 |
|---|---|
| let{物件的成員名:變數名}=物件 | 解構語法,相當于 變數名=物件.成員名 |
| let {變數名}=物件 | 當變數名與物件成員名字一樣的時候,可以隱藏一項 |
| let{變數1,…物件2}=物件1 | 將物件1除了變數1之外的賦值給物件2 |
let obj1={
age:38,
name:“達人”,
gender:“非酋”,
fd:“水”
}
let{age,name,gender,fd}=obj1
console.log(age,name,gender,fd); //38 達人 非酋 水
let {age:ag1,…obj2}=obj1
console.log(ag1,obj2); //38 { name: ‘達人’, gender: ‘非酋’, fd: ‘水’ }
| 陣列解構賦值方法 | 決議/示例 |
|---|---|
| let [變數]=陣列 | 將陣列中的資料,依次賦值給變數 |
| let [變數,…陣列2]=陣列1 | 將陣列1除了第一個之外的賦值給陣列2 |
| …陣列 | 將陣列快速展開 |
let arr=[1,2,3]
let [n1,n2,n3]=arr
console.log(n1,n2,n3); //1 2 3
let [n4,…arr2]=arr
console.log(n4,arr2); //1 [ 2, 3 ]
console.log(…arr); //1 2 3
Array物件
| 方法 | 解釋/示例 |
|---|---|
| Array物件.forEach((value,index)=>{}) | 回圈陣列,不能中斷,無回傳值 |
| Array物件.map((value,index)=>{}) | 回圈陣列,不能中斷,有回傳值生產新陣列 |
| Array物件.filter((value,index)=>{return true}) | 回圈陣列,不能中斷,有回傳值,回傳值為真時添加到新陣列 |
模塊
fs 檔案系統模塊
| const fs = require(‘fs’) 導包 | 解釋/示例 |
|---|---|
| fs.unlink(路徑,(err)=>{}) | 洗掉檔案,洗掉成功err為null |
| fs.readFile(路徑[,可選引數],(err,data)=>{}) | 讀取檔案,data默認buffer格式,可以在引數那里設定utf-8 |
| fs.writeFile(路徑,資料[,可選引數],(err)=>{}) | 寫入檔案, |
path 路徑模塊
| const path = require(’path’) 導包 | 解釋/示例 |
|---|---|
| __dirname | 檔案夾路徑 |
| __filename | js檔案路徑 |
| path.join(__dirname, 檔案夾 , 檔案名) | 拼接路徑 |
npm config set registry https://registry.npm.taobao.org/ 切換淘寶鏡像
http 網路模塊
| const http= require(’http’) 導包 | 解釋/示例 |
|---|---|
| const server=http.createServer((req,res)=>{}) | 創建http服務,req請求物件,res回傳物件 |
| res.end(‘回傳資料’) | 回傳資料 |
| req.on(‘data’,(data)=>{}) | 接收post資料事件 |
| req.on(‘end’,()={}) | 接收完post資料事件 |
| server.listen(43888,()=>{}) | 監聽埠 |
res.end(‘回傳內容’) 設定回傳內容
res.setHeader(key,value) 設定回傳回應頭
req.url 獲取請求地址的相對路徑
querystring 查詢字串模塊
| const querystring= require(’querystring’) 導包 | 解釋/示例 |
|---|---|
| querystring.parse(‘字串’) | 將字串決議成物件 |
npm i nodemon -g 安裝nodemon,全域模式-g
npm init -y 初始化npm專案
npm i express 安裝express,非全域模式
npm i multer 安裝multer ,非全域模式
npm i express multer 同時安裝2個
npm i 有package.json的檔案時,可以自動下載所有需要的包
express 網路模塊
| const express= require(’express’) 導包 | 解釋/示例 |
|---|---|
| const app=express() | |
| app.get(‘路徑’,(req,res)=>{}) | get請求發起 |
| req.query | 獲取get請求的引數 |
| res.setHeader(‘Content-Type’,‘text/json’) | 設定回應頭為json |
| res.send(‘回傳資料’) | 回傳資料 |
| app.use(express.static(‘www’)) | 開放www檔案夾,里面的檔案為1級路徑,里面的檔案夾為2級 |
| app.post(‘路徑’,(req,res)=>{}) | post請求 |
| app.use() | 可以用來加載一些中間件 |
| app.use(express.urlencoded) | 使用url編碼解碼 |
| req.body | 獲取post資料,默認會決議成物件 |
| req.file | 檔案資料 |
| app.listen(‘埠’,()=>{}) | 啟動服務器 |
multer模塊
| const multer= require(’multer’) 導包 | 解釋/示例 |
|---|---|
| const upload = multer({dest: ‘uploads/’}) | 創建目錄 |
| app.post(’/reg’,upload.single(‘userIcon’),(req,res)=>{}) | post請求時候帶upload創建檔案 |
| let {username,password}=req.body | post文本資料在body里面 |
| let userIcon=req.file.filename | 檔案資料在file里面,獲取檔案名 |
app.use((req,res,next)=>{代碼片段1;next()}) 中間件函式,可以對req,res的資料預先處理
next()方法: 會去呼叫堆疊中的下一個中間件
如果沒有呼叫next()方法,則程式執行完中間件的時候程式會停止(卡住)
res.setHeader(‘Access-Control-Allow-Origin’,’*’) // *代表所有的請求路徑 ,解決跨域問題
app.use(cors()) 呼叫cors包里面cors方法,解決跨域問題
jq解決跨域陳述句再AJAX里面加入dataType:‘jsonp’
mySQL指令
| 方法 | 解釋/示例 |
|---|---|
| insert into 表名(欄位1, 欄位2) values(值1, 值2) | 插入資料,每個欄位對應每個值 |
| delete from 表名 where 條件 | 洗掉表格,去掉條件都是洗掉整個表格 |
| update 表名 set 欄位1=‘新值’,欄位2=‘新值’ where 條件 | 修改資料 |
| select * from 表名 where 條件 | 查詢資料 |
所有where都不是必須的, 不加就是對整個表格進行操作
insert into heroinfo (name,title,age) values (‘提莫’,‘迅捷斥候’,‘108’) //插入資料
delete from heroinfo where age>100 //洗掉資料
update heroinfo set name=‘妲己’,title=‘妲己愛主人’ where id=1 //對id=1的資料進行修改
select * from heroinfo //讀取整個表格
select id,name from heroinfo where age>50 //讀取表格中滿足age>50的資料,并只回傳id,name欄位
mysql模塊
| var mysql = require (‘mysql’) 導包 | 解釋/示例 |
|---|---|
| var connection = mysql.createConnection({ | 設定資料庫引數 |
| host : ‘localhost’, // 資料庫的地址/名字 | |
| user : ‘root’, // 登錄資料庫的用戶名 | |
| password : ‘root’, // 登錄資料庫的密碼 | |
| database : ‘mysql73’ // 你自己資料庫名稱 | |
| }); | |
| connection.connect(); | 打開與資料庫的鏈接 |
| connection.query(sql陳述句, function (error, results, fields) {}) | 對資料庫的操作 |
| connection.end(); | 關閉與資料庫之間的鏈接 |
crawler 爬蟲模塊
promise物件
| new promise((resolve,reject)=>{}) | 解釋/示例 |
|---|---|
| promise物件.then((data)=>{}) | 成功處理 |
| promise物件.catch((err)=>{}) | 失敗處理 |
| promise物件.finally(()=>{}) | 完成處理 |
| Promise.all([promise物件]) | 打包成一個新的Promise物件 |
| Promise.race([promise物件]) | 打包成一個新的Promise物件 |
vue基礎:
尚硅谷:
| 方法 | 解釋/示例 |
|---|---|
| object.defineProperty(物件,屬性,屬性配置) | 物件添加屬性, 屬性配置有value,enumerable(可遍歷的), writable(可修改的),configurable(可洗掉的),get函式(讀取時呼叫,回傳值為屬性的值),set(value)函式(修改時呼叫,value為收到的值) |
| object.keys(物件) | 列出物件的屬性名, 已陣列方式 |
vue Vue.config.profuctionTip=false
| 方法 | 解釋/示例 |
|---|---|
| {{運算式}} | 插值語法,關聯資料 |
| v-bind: 或 : | 單項系結資料 |
| v-model:value=’’ 或 v-model=’’ | 雙向系結資料, 一般都是系結value值 |
| v-on:事件名=方法 或 @事件名=方法 | 使用事件, 不傳引數可以不用括號,傳事件物件用$event |
| 事件修飾符 | |||
|---|---|---|---|
| prevent | 阻止默認事件 | capture | 使用事件的捕獲模式 |
| once | 事件只觸發一次 | self | 只有event.target是當前操作的元素時才觸發事件 |
| stop | 阻止事件冒泡 | passive | 事件的默認行為立即執行,無需等待事件回呼執行完畢 |
| 鍵盤事件,按鍵別名 | |||||
|---|---|---|---|---|---|
| enter | 回車 | delete | 洗掉 | esc | 退出 |
| space | 空格 | tab | 換行 | up | 上 |
| down | 下 | left | 左 | right | 右 |
| v-model修飾符 | |
|---|---|
| number | 自動將用戶的輸入值轉為數值型別 |
| lazy | 轉為在 change 事件同步資料 |
| trim | 過濾用戶輸入的首尾空白字符 |
黑馬:
| 方法 | 解釋/示例 |
|---|---|
| {{value}} | 插值運算式,可以是data里面的資料,可以是2元或3元運算子 |
| v-text | 設定元素的文本,相當于innerText,這個設定標簽全部內容,如果是部分內容,用插值語法 |
| v-html | 設定元素的文本及標簽,相當于innerHtml |
| v-on | 系結事件,v-on:事件名=‘事件方法’, 簡寫@事件名=‘事件方法’ |
| v-bind | 系結元素屬性,v-bind:屬性=“value”, 簡寫:屬性=“value” |
| v-for | 回圈渲染, 串列渲染, v-for="(item , index) in 串列名" |
| v-model | 雙向資料系結,系結的是value值 |
| v-if | 根據條件渲染, 還有v-else-if, v-else 配合使用 v-if=“運算式” |
| v-show | 元素的顯示隱藏,就是元素的display屬性 |
| key | 解決渲染出錯,相當于給元素添加唯一識別符號 |
| 了解方法 | 解釋/示例 |
|---|---|
| v-cloak | 設定Vue加載前的樣式,需要先寫CSS樣式,再呼叫 |
| v-once | 只渲染一次 |
| v-pre | 不渲染 |
陣列高階方法
| 方法 | 解釋/示例 |
|---|---|
| arr.map((value,index)=>{return value*2}) | 遍歷陣列,回傳新陣列,新陣列的值是return的內容 |
| arr.filter((value,index)=>{return true) | 過濾陣列,回傳新陣列,新陣列的值是return值為true的時候value內容 |
| arr.forEach((value,index)=>{) | 遍歷陣列 |
| arr.some((value,index)=>{return true) | 找陣列是否某個元素滿足條件,回傳值為true或false |
| arr.every((value,index)=>{return true) | 找陣列是否所有元素滿足條件,回傳值為true或false |
| arr.findIndex((value,index)=>{return true) | 找陣列下邊,return true回傳當前下表,全部不滿足默認回傳-1 |
| arr.reduce((sum,value)=>sum+value,0) | 一般用于陣列求和,求最大值/最小值,回傳值取決于最后一個return |
組件
name:’’; 子組件使用name屬性
<style scoped></style> 子組件使用CSS作用域
<slot>我是默認值</slot> //子組件的插槽
<local1>
/<button><a href="#">點擊購買</a> 父組件使用插槽? </button>
</local1>import local1 from ‘./local1.vue’ //父組件匯入子組件
components:{local1 } /父組件匯入子組件,步驟2
子組件:
props:[“good-name”,“good-price”], //子組件中宣告props : 相當于宣告屬性
this.$emit(‘自定義事件名’,引數) //自定義事件名隨意,引數可以多個
父組件 :
@自定義事件名=“函式(引數)”
| vue實體結構 | |
|---|---|
| el | 掛載點 |
| data | 資料 |
| methods | 事件函式,方法 |
| computed | 計算屬性 |
| filters | 過濾器 |
| watch | 監視器 |
標簽內使用ref , this.$refs 來獲取元素
給style 添加scope ,css作用域,相當于添加了屬性選擇器
路由傳參,兩種,路徑傳參重繪還在,params傳參重繪不見了,
發送: this.$router.push({ path: ‘路由地址’, query: { key: ‘value’ }})
接收: this.$route.query.key 取值
發送: this.$router.push({ path: ‘路由地址’, params: { key: ‘value’ }})
接收: this.$route.params.key 取值
ton><a href="#">點擊購買</a> 父組件使用插槽
? </button>
</local1>import local1 from ‘./local1.vue’ //父組件匯入子組件
components:{local1 } /父組件匯入子組件,步驟2
子組件:
props:[“good-name”,“good-price”], //子組件中宣告props : 相當于宣告屬性
this.$emit(‘自定義事件名’,引數) //自定義事件名隨意,引數可以多個
父組件 :
@自定義事件名=“函式(引數)”
| vue實體結構 | |
|---|---|
| el | 掛載點 |
| data | 資料 |
| methods | 事件函式,方法 |
| computed | 計算屬性 |
| filters | 過濾器 |
| watch | 監視器 |
標簽內使用ref , this.$refs 來獲取元素
給style 添加scope ,css作用域,相當于添加了屬性選擇器
路由傳參,兩種,路徑傳參重繪還在,params傳參重繪不見了,
發送: this.$router.push({ path: ‘路由地址’, query: { key: ‘value’ }})
接收: this.$route.query.key 取值
發送: this.$router.push({ path: ‘路由地址’, params: { key: ‘value’ }})
接收: this.$route.params.key 取值
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/303604.html
標籤:其他
