js之语法大全。(原生js、事件、正则、cookie、es6)

欢迎补充~

一、基础单词

length:数组长度
Array:数组
number:数字
boolean:布尔
parseInt:转化为整型数值
continue:继续
break:阻断,用于循环中
Typeof: 返回值是字符串,可以检测未定义的变量:undefind。
parseInt:取整,遇到字符NaN,隐式转换String,返回Number。
Div.innerHTML:可读写属性。
charCodeAt:获取ASCII码
fromCharCode:转换为字符。
eval:将字符串转换为代码
prototype:原型链。
scroll-into-view:是内容出现在滚动条最下面。
cursor:pointer   鼠标变小手。
user-select:none;文本无法选中,有兼容问题。
encodeURIComponent();中文编码为十六进制。
decodeURIComponent():十六进制转换为中文
in:检测属性是否属于这个对象,不管私有全局,有就是true。
hasOwnProperty:检测这个属性是否为对象的私有属性。私有才为true

二、数组方法

// 一般都会改变原数组,堆内存。         
push :添加末尾新内容,返回长度,原数组改变变
unshift:添加新元素至开头
pop :删除最后一个数组元素,无参数,返回被删除项,原数组改变
shift :删除第一个数组元素,参数无,返回被删除项,元素组改变
arr.length--:删除最后一项。
reverse:颠倒数组顺序
sort:对数组排序,按ASCII码排,sort(function(a,b){return a-b})升序。
splice:splice(start,length,item) 删,增,替换数组元素,返回被删除数组,无删除则不返回,支持负数,插入索引+10,被插入数,一般不会改变原数组,需要重新赋值给本身
concat :组合数组
join:数组转化为指定分隔符的字符串。传什么用什么连接,字符串类型。不穿参,按逗号连接。
slice:左闭右开。

三、字符串方法

//一般不会改变原字符串,需要重新赋值给本身,栈内存。
new String :变为字符串
split:方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组。传的东西删掉,形成数组。
replace:方法用于替换匹配的子字符串,一般情况下只替换第一个匹配(除非使用带有g修饰符的正????????????
toLowerCase:方法用于将一个字符串全部转为小写
toUpperCase:则是全部转为大写。它们都返回一个新字符串,不改变原字符串。
trim:方法用于去除字符串两端的空格,返回一个新字符串,不改变原字符串。
indexOf:方法用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。如果返回-1,就表示不匹配。
        接受两个参数,表示从该位置开始向后匹配。
substr:方法用于从原字符串取出子字符串并返回,不改变原字符串,跟slice和substring方法的作用相同。
        一个参数,复制到结束。1位负数,则倒,2为负数则自动转0
substring:方法用于从原字符串取出子字符串并返回,不改变原字符串,跟slice方法很相像。 如果第二个参数大于第一个参数,substring方法会自动更换两个参数的位置。
slice:方法用于从原字符串取出子字符串并返回,不改变原字符串。它的第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不含该位置)。
        如果参数是负值,表示从结尾开始倒数计算的位置,即该负值加上字符串长度。
         如果第一个参数大于第二个参数,slice方法返回一个空字符串。
JSON. stringify(obj),转换成字符串传给后台
JSON. parse(arr),  转换后代数据,转换为对象。

四、DOM方法

document.scrollingElement:属性返回文档的滚动元素。也就是说,当文档整体滚动时,到底是哪个元素在滚动。
 scrollTop=document.documentElement.scrollTop  || document.body.scrollTop
//查
document.getElementById:方法返回匹配指定id属性的元素节点。开发基本不用
document.getElementsByTagName:方法搜索 HTML 标签名,返回符合条件的元素集合。
document.getElementsByClassName: ie8以下不兼容。伪数组
document.querySelector:致命缺点不是实时的。(跟css获取一样)
跟获取的DOM元素配合使用。节点种类太多不好用。
parentNode:父节点
childNodes:子节点们,里面文本,注释都算。
firstChild:第一个子节点
LastChild:最后一个子节点
nextSibliing:后一个兄弟节点
previousSibling:前一个兄弟界节点
元素的子节点,一般用这个。
parentElement:当前元素的父节点。
children:当前元素的元素子节点。
firstElementChild:第一个元素子节点。IW9以下不兼容。
lastElementSibling:后一个元素兄弟节点。
previousElementSibling:前一个元素兄弟节点。
节点的属性。只读不能写。
nodeType:获取节点属性。.value,属性值。元素1,属性节点2,文本3 document9 documentFragment 11.
getComputedStyle(dom,null[style]  标准浏览器,IE9以下不兼容。null,获取伪元素。
dom. currentStyle. [style]  只读不能写,获取CSS属性,IE
//DOM增删改
document.createElement:方法用来生成元素节点,并返回该节点。
document.createTextNode():  创建文本节点
oDiv.appendChild(newDiv):把newDiv添加到oDiv内部的最后面。原元素不变,但改变结构,引发回流。
innerHTML:把原先的实例,变成字符串和新添加的拼接,再渲染结构,原先的实例绑定方法没了
box.replaceChild(newNode,oldNode):元素替换。
getComputedStyle():全部属性,window下的。兼容问题currentStyle。
className:属性用来读写当前元素节点的class属性。它的值是一个字符串,每个class之间用空格分割。
setAttribute:方法用于为当前节点设置属性。如果属性已经存在,将更新属性值,否则将添加该属性。该方法没有返回值。
removeAttribute:方法移除指定属性。该方法没有返回值。
offsetHeight:属性返回一个整数,表示元素的 CSS 垂直高度(单位像素),包括元素本身的高度、padding 和 border,只读属性
offsetWidth:属性表示元素的 CSS 水平宽度(单位像素),其他都与Element.offsetHeight一致。只读????
Element.offsetLeft:返回当前元素左上角相对于父节点的水平位移.这个两个父级需是有定位
style.  left:有单位的距离css定义的值。
Element.offsetTop:返回垂直位移,单位为像素。通常,这两个值是指相对于父节点的位移

五、BOM方法

console :控制台
window.open():打开一个新的浏览器窗口。
window.close():关闭浏览器窗口。
alert:提示框,
Window.prompt( ):可输入的弹窗。
confirm(arg1) :显示带有一段消息以及确认按钮和取消按钮的对话框。
navigator.userAgent:检测浏览器类型
location:对象包含有关当前 URL 的信息。search,href,常用
后退一页  history.go(-1)     history.back()
        前进一页  history.go(1)      history.forward()
window.onload = function() {console.log('页面加载完毕')} 页面加载完毕调用。
setTimeout(function(){console.log(2)},1000); 延时器
setInterval:定时器。前面加clear,清楚定时器。
window.onscroll:可以监听页面的滚动,一旦页面滚动就会触发onscroll 函数。

六、ES5新增

Array.isArray:typeof运算符只能显示数组的类型是Object,而Array.isArray方法可以数组。
map:方法将数组的所有成员依次传入参数函数,然后把每一次的执行结果组成一个新数组
forEach:方法与map方法很相似,也是对数组的所有成员依次执行参数函数。
filter:方法用于过滤数组成员,满足条件的成员组成一个新数组返回。
some():方法是只要一个成员的返回值是true,则整个some方法的返回值就是true,否则返回falseevery():every方法是所有成员的返回值都是true,整个every方法才返回true,否则返回false。
reduce:方法依次处理数组的每个成员,最终累计为一个值。reduce是从左到右处理
indexOf:方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。
lastIndexOf:方法返回给定元素在数组中最后一次出现的位置,如果没有出现则返回-1

七、Math、Dath

Math.abs:返回绝对值。
Math.max.apply(Math,array):把this值指向Math对象,则第二个参数可以传入任意数组。
Math.floor:方法小于参数值的最大整数(地板值)
Math.ceil:方法返回大于参数值的最小整数(天花板值)。
Math.round:方法用于四舍五入。
Math.pow方法返回以第一个参数为底数、第二个参数为幂的指数值。
Math.sqrt方法返回参数值的平方根。如果参数是一个负值,则返回NaN。
Math.sin(Math.PI / 2) // 1、参数为弧度值。
Math.random()返回01之间的一个伪随机数,可能等于0,但是一定小于1。
Math.round(math.random()*(max-min)+min)任意两个数之间的随机数
math.min() 参数是个数组,不能传变量。可以用apply改变。
Date可以当作构造函数使用。对它使用new命令,会返回一个Date对象的实例。
let oDate = New Date()
oDate.getDate()   返回一个月中的某一天 (1 ~ 31)
oDate.getDay()    返回一周中的某一天 (0 ~ 6)
oDate.getMonth()  返回月份 (0 ~ 11)
oDate.getFullYear() 以四位数字返回年份
oDate.getHours()   返回当前小时(0-23)
oDate.getMinutes() 返回当前分钟 (0 ~ 59)
oDate.getSeconds()      返回当前秒(0 ~ 59)
oDate.getMillisenconds()  返回当前毫秒(0 ~ 999)
oDate.getTime()       返回197011日至今的毫秒数
oDate.setDate()      设置月中的某一天 (1 ~ 31)

八、事件

//阻止事件
事件:var evt= e || event;
阻止冒泡:evt.stopPropagation()||evt.cancelBubble=true;
获取事件源:_target= evt.target||evt. srcElement;
阻止浏览器默认:evt. preventDefault();跳转,右键菜单,输入框。
                return flase :数据提交事件阻止默认
                evt. returnValue=falseIE
//鼠标事件
oncontextmenu:右键菜单
evt.button :0是左键。1是滑轮。2是右键。
onclick:用户单击鼠标按钮或按下回车键时触发
ondblclick:当用户双击主鼠标按钮时触发
onmousedown:当用户按下鼠标还未弹起时触发 移动端,换成touchdown
onmouseup:当用户释放鼠标按钮时触发
onmouseover:当鼠标移到某个元素上方时触发
onmouseout:当鼠标移出某个元素上方时触发
onmousemove:当鼠标指针在元素上移动时触发
//HTML 事件
onload:当页面完全加载后在 window 上面触发,或当框架集加载完毕后在框架集上触发。
onselect:当用户选择文本框(input 或 textarea)中的一个或多个字符触发
onchange:当文本框(input 或 textarea)内容改变且失去焦点后触发
onfocus:当页面或者元素获得焦点时在 window 及相关元素上面触发
onblur:当页面或元素失去焦点时在 window 及相关元素上触发
onresize:当窗口或框架的大小变化时在 window 或框架上触发
onscroll:当用户滚动带滚动条的元素时触发
//事件对象属性
event.butto:当前事件触发时哪个鼠标按键被点击
clientX、clientY:鼠标在可视区X座标和Y座标,即距离左边框和上边框距离
screenX、screenY:鼠标在屏幕区X座标和Y座标,即距离左屏幕和上屏幕的距离
offsetX、offsetY:鼠标相对于事件源的X座标和Y座标,受父元素影响
pageX、pageY:鼠标相对于文档的X座标和Y座标,不会受事件源影响,用来减事件源移量求鼠标位置。
scrollyto():x,y。滚动条到达某个位置。
scrollyby():累加滚动。
//键盘事件
keyCode:获取键盘码,兼容var code=evt.keyCode||evt.which
onkeydown:当用户按下键盘上任意键触发,如果按住不放,会重复触发
onkeypress:当用户按下键盘上的字符键触发,按住不放,会重复触发,能返回ASSII码
onkeyup:当用户释放键盘上的键触发
oninput:实时监听内容变化
altKey属性,bool类型,表示发生事件的时候alt键是否被按下
ctrlKey属性,bool类型,表示发生事件的时候ctrl键是否被按下
shiftKey属性,bool类型,表示发生事件的时候shift键是否被按下 
//事件监听
div.addEventListener(‘click’ , 函数体,flase);这个方法可以绑定多个事件。函数只能一个
element.addEventListener(“click”,function(){},false);//false 事件冒泡
element.addEventListener(“click”,function(){},true);//true事件捕获
evt.target:用来捕获事件源。把子元素的事件,放到父元素处理,用于事件委托,留言板的,新加的内容,自动赋予事件。
removeEventListener(事件名,处理函数):移除事件监听器
div.attzchEvent(‘onclick’,function(){ });IE专用,可以多个函数。

九、正则表达式

i 执行对大小写不敏感的匹配
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配
test: 正则实例对象的test方法返回一个布尔值,表示当前模式是否能匹配参数字符串
exec:用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为null。
replace: 按照给定的正则表达式进行替换,返回替换后的字符串。
字符串对象的replace方法可以替换匹配的值。它接受两个参数,第一个是正则表达式,表示搜索模式,第二个是替换的内容。
search:检索与正则表达式相匹配的值。返回字符串中第一个与正则表达式相匹配的子串的起始位置。如果没有找到则返回-1//字符类匹配
[] 查找方括号之间的任何字符
[^] 查找任何不在方括号之间的字符
[a-z] 查找任何从小写 a 到小写 z 的字符
[A-Z] 查找任何从大写 A 到大写 Z 的字符
[A-z] 查找任何从大写 A 到小写 z 的字符
. 查找单个字符,除了换行和行结束符
\w 查找单词字符,等价于[a-zA-Z0-9]
\W 查找非单词字符,等价于[^a-zA-Z0-9]
\s 查找空白字符
\S 查找非空白字符
\d 查找数字,等价于[0-9]
\D 查找非数字字符,等价于[^0-9]
\b 匹配单词边界
\r 查找回车符
\t 查找制表符
\0 查找 NULL 字符
\n 查找换行符
//重复字符匹配
{n,m} 匹配前一项至少n次,但不能超过m次
{n,} 匹配前一项n次或更多次
{n} 匹配前一项n次
n? 匹配前一项0次或者1次,也就是说前一项是可选的,等价于{01}
n+ 匹配前一项1次或多次,等价于{1}
n* 匹配前一项0次或多次,等价于{0}
n$ 匹配任何结尾为 n 的字符串
^n 匹配任何开头为 n 的字符串
?=n 匹配任何其后紧接指定字符串 n 的字符串
?!n 匹配任何其后没有紧接指定字符串 n 的字符串
//匹配特定数字
^[1-9]\d*$    匹配正整数
^-[1-9]\d*$   匹配负整数
^-?[0-9]\d*$   匹配整数
^[1-9]\d*|0$  匹配非负整数(正整数 + 0^-[1-9]\d*|0$   匹配非正整数(负整数 + 0^[1-9]\d*.\d*|0.\d*[1-9]\d*$  匹配正浮点数
^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$ 匹配负浮点数
^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$  匹配浮点数
^[1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$   匹配非负浮点数(正浮点数 + 0^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$  匹配非正浮点数(负浮点数 + 0//匹配特定字符串
^[A-Za-z]+$  匹配由26个英文字母组成的字符串
^[A-Z]+$  匹配由26个英文字母的大写组成的字符串
^[a-z]+$  匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  匹配由数字和26个英文字母组成的字符串
^\w+$  匹配由数字、26个英文字母或者下划线组成的字符串

十、cookie

document.cookie = “key=value”; // 一次写入一个键值对,读取,修改
expires:修改时间 例:document.cookie = “key=value;expires=+ oDate;
domain:设置域名 例:document.cookie = “key=value;domain=www.baidu.com“;
path:设置路径 例:document.cookie = “key=value;path=/;

十一、ES6

let:命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在内有效。
const:声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值
repeat:方法返回一个新字符串,表示将原字符串重复n次
includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
` `           模板字符串,可以里面变量放${}
Array.from :可将类数组转化为真正数组,比如arguments
...            将数组转化为参数,还有合并数组,放前面
Set 操作方法(用于操作数据)和遍历方法(用于遍历成员)。下面四个操作方法
set = new Set([1, 4, 9]);
- add(value):添加某个值,返回 Set 结构本身。
- delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
- has(value):返回一个布尔值,表示该值是否为Set的成员。
- clear():清除所有成员,没有返回值。
Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现
const map = new Map();
size属性返回 Map 结构的成员总数。
set方法设置键名key对应的键值为value,然后返回整个 Map 结构
get方法读取key对应的键值,如果找不到key,返回undefined。
has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
delete方法删除某个键,返回true。如果删除失败,返回false
clear方法清除所有成员,没有返回值。
eys():返回键名的遍历器。
values():返回键值的遍历器。
entries():返回所有成员的遍历器。
forEach():遍历 Map 的所有成员。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章