当前位置:首页 » 《休闲阅读》 » 正文

方法与函数汇总_达少mz的博客

8 人参与  2022年01月30日 09:10  分类 : 《休闲阅读》  评论

点击全文阅读


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 取值


点击全文阅读


本文链接:http://zhangshiyu.com/post/34088.html

对象  元素  事件  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1