主頁 > 前端設計 > 方法與函式匯總

方法與函式匯總

2021-09-28 08:09:33 前端設計

js基礎內容

1.方法

Math數學物件

方法解釋/示例
獲取圓周率Math.PI3.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. 函式及其他

  1. isNaN(變數) 檢測數字是不是非數字,也可以檢測字符是否是純數字字符

  2. 用于轉換以數字開頭的字串

parseInt(字串)

parseFloat(字串)

  1. typeof 變數,檢測變數型別,它不是函式
  2. Array.isArray() 主要用于檢測是否是陣列,回傳真或者假
  3. instanceof 檢測物件是由哪種建構式實體化所得,也可以檢測復制型別,
  4. typeof 變數 === ‘object’ && !(Array.isArray(變數))
  5. valueOf

webAPI內容

1.方法

DOM

獲取元素方法:

方法解釋/示例元素個數
document.getElementById(‘id’)根據id獲取元素1
document.getElementsByTagName(‘標簽名’)根據標簽名獲取元素串列偽陣列
document.getElementsByClassName(‘類名’)根據類名獲取元素串列偽陣列
document.querySelector(‘CSS選擇器’)★根據CSS選擇器獲取元素1
document.querySelectorAll(‘CSS選擇器’)★根據CSS選擇器獲取元素偽陣列
document.body找到body1
document.head找到head1
document.documentElement找到html1

修改樣式

方法解釋/示例
物件.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.protocolURL的協議
location.hostURL的主機
location.hostnameURL的主機名
location.portURL的埠
location.pathnameURL的路徑名
location.searchURL的查詢字串
location.hashURL的哈希(錨點)
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:falseajax請求中關閉自帶的編碼屬性
$.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檔案夾路徑
__filenamejs檔案路徑
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.bodypost文本資料在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
downleftright
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

標籤:其他

上一篇:JavaScript基礎變數寫法/彈窗寫法

下一篇:Java專案:零食商城系統(java+SSM+jsp+MySQL+EasyUI)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • vue移動端上拉加載

    可能做得過于簡單或者比較low,請各位大佬留情,一起探討技術 ......

    uj5u.com 2020-09-10 04:38:07 more
  • 優美網站首頁,頂部多層導航

    一個個人用的瀏覽器首頁,可以把一下常用的網站放在這里,平常打開會比較方便。 第一步,HTML代碼 <script src=https://www.cnblogs.com/szharf/p/"js/jquery-3.4.1.min.js"></script> <div id="navigate"> <ul> <li class="labels labels_1"> ......

    uj5u.com 2020-09-10 04:38:47 more
  • 頁面為要加<!DOCTYPE html>

    最近因為寫一個js函式,需要用到$(window).height(); 由于手寫demo的時候,過于自信,其實對前端方面的認識也不夠體系,用文本檔案直接敲出來的html代碼,第一行沒有加上<!DOCTYPE html> 導致了$(window).height();的結果直接是整個document的高 ......

    uj5u.com 2020-09-10 04:38:52 more
  • WordPress網站程式手動升級要做好資料備份

    WordPress博客網站程式在進行升級前,必須要做好網站資料的備份,這個問題良家佐言是遇見過的;在剛開始接觸WordPress博客程式的時候,因為升級問題和博客網站的修改的一些嘗試,良家佐言是吃盡了苦頭。因為購買的是西部數碼的空間和域名,每當佐言把自己的WordPress博客網站搞到一塌糊涂的時候 ......

    uj5u.com 2020-09-10 04:39:30 more
  • WordPress程式不能升級為5.4.2版本的原因

    WordPress是一款個人博客系統,受到英文博客愛好者和中文博客愛好者的追捧,并逐步演化成一款內容管理系統軟體;它是使用PHP語言和MySQL資料庫開發的,用戶可以在支持PHP和MySQL資料庫的服務器上使用自己的博客。每一次WordPress程式的更新,就會牽動無數WordPress愛好者的心, ......

    uj5u.com 2020-09-10 04:39:49 more
  • 使用CSS3的偽元素進行首字母下沉和首行改變樣式

    網頁中常見的一種效果,首字改變樣式或者首行改變樣式,效果如下圖。 代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ......

    uj5u.com 2020-09-10 04:40:09 more
  • 關于a標簽的講解

    什么是a標簽? <a> 標簽定義超鏈接,用于從一個頁面鏈接到另一個頁面。 <a> 元素最重要的屬性是 href 屬性,它指定鏈接的目標。 a標簽的語法格式:<a href=https://www.cnblogs.com/summerxbc/p/"指定要跳轉的目標界面的鏈接">需要展示給用戶看見的內容</a> a標簽 在所有瀏覽器中,鏈接的默認外觀如下: 未被訪問的鏈接帶 ......

    uj5u.com 2020-09-10 04:40:11 more
  • 前端輪播圖

    在需要輪播的頁面是引入swiper.min.js和swiper.min.css swiper.min.js地址: 鏈接:https://pan.baidu.com/s/15Uh516YHa4CV3X-RyjEIWw 提取碼:4aks swiper.min.css地址 鏈接:https://pan.b ......

    uj5u.com 2020-09-10 04:40:13 more
  • 如何設定html中的背景圖片(全屏顯示,且不拉伸)

    1 <style>2 body{background-image:url(https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture); 3 background-size:cover;background ......

    uj5u.com 2020-09-10 04:40:16 more
  • Java學習——HTML詳解(上)

    HTML詳解 初識HTML Hyper Text Markup Language(超文本標記語言) 1 <!--DOCTYPE:告訴瀏覽器我們要使用什么規范--> 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <!--meta 描述性的標簽,描述一些 ......

    uj5u.com 2020-09-10 04:40:33 more
最新发布
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 07:59:23 more
  • 生產事故-走近科學之消失的JWT

    入職多年,面對生產環境,盡管都是小心翼翼,慎之又慎,還是難免捅出簍子。輕則滿頭大汗,面紅耳赤。重則系統停擺,損失資金。每一個生產事故的背后,都是寶貴的經驗和教訓,都是專案成員的血淚史。為了更好地防范和遏制今后的各類事故,特開此專題,長期更新和記錄大大小小的各類事故。有些是親身經歷,有些是經人耳傳口授 ......

    uj5u.com 2023-04-18 07:55:04 more
  • 記錄--Canvas實作打飛字游戲

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 打開游戲界面,看到一個畫面簡潔、卻又富有挑戰性的游戲。螢屏上,有一個白色的矩形框,里面不斷下落著各種單詞,而我需要迅速地輸入這些單詞。如果我輸入的單詞與螢屏上的單詞匹配,那么我就可以獲得得分;如果我輸入的單詞錯誤或者時間過長,那么我就會輸 ......

    uj5u.com 2023-04-04 08:35:30 more
  • 了解 HTTP 看這一篇就夠

    在學習網路之前,了解它的歷史能夠幫助我們明白為何它會發展為如今這個樣子,引發探究網路的興趣。下面的這張圖片就展示了“互聯網”誕生至今的發展歷程。 ......

    uj5u.com 2023-03-16 11:00:15 more
  • 藍牙-低功耗中心設備

    //11.開啟藍牙配接器 openBluetoothAdapter //21.開始搜索藍牙設備 startBluetoothDevicesDiscovery //31.開啟監聽搜索藍牙設備 onBluetoothDeviceFound //30.停止監聽搜索藍牙設備 offBluetoothDevi ......

    uj5u.com 2023-03-15 09:06:45 more
  • canvas畫板(滑鼠和觸摸)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>canves</title> <style> #canvas { cursor:url(../images/pen.png),crosshair; } #canvasdiv{ bo ......

    uj5u.com 2023-02-15 08:56:31 more
  • 手機端H5 實作自定義拍照界面

    手機端 H5 實作自定義拍照界面也可以使用 MediaDevices API 和 <video> 標簽來實作,和在桌面端做法基本一致。 首先,使用 MediaDevices.getUserMedia() 方法獲取攝像頭媒體流,并將其傳遞給 <video> 標簽進行渲染。 接著,使用 HTML 的 < ......

    uj5u.com 2023-01-12 07:58:22 more
  • 記錄--短視頻滑動播放在 H5 下的實作

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 短視頻已經無數不在了,但是主體還是使用 app 來承載的。本文講述 H5 如何實作 app 的視頻滑動體驗。 無聲勝有聲,一圖頂百辯,且看下圖: 網址鏈接(需在微信或者手Q中瀏覽) 從上圖可以看到,我們主要實作的功能也是本文要講解的有: ......

    uj5u.com 2023-01-04 07:29:05 more
  • 一文讀懂 HTTP/1 HTTP/2 HTTP/3

    從 1989 年萬維網(www)誕生,HTTP(HyperText Transfer Protocol)經歷了眾多版本迭代,WebSocket 也在期間萌芽。1991 年 HTTP0.9 被發明。1996 年出現了 HTTP1.0。2015 年 HTTP2 正式發布。2020 年 HTTP3 或能正... ......

    uj5u.com 2022-12-24 06:56:02 more
  • 【HTML基礎篇002】HTML之form表單超詳解

    ??一、form表單是什么

    ??二、form表單的屬性

    ??三、input中的各種Type屬性值

    ??四、標簽 ......

    uj5u.com 2022-12-18 07:17:06 more