- map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
- reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。不会修改数组。
- eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
- object.hasOwnProperty(propertyName);
参数说明:propertyName 参数表示要检测的属性名称。
返回值:返回一个布尔值。不会检测对象的原型链,只会检测当前对象本身,只有当前对象本身存在该属性时才返回 true,否则返回 false。 - 数组中常用迭代方法
forEach:遍历并执行函数(对原数组进行修改)
map:每个元素都执行一个操作(创建一个新的数组并返回)
filter:过滤,新数组对应原数组中符合条件的元素,元素符合条件返回true,
find:查找
every:所有数组元素是否否符合指定条件,返回值为true / false
some:测试每个元素,遇到true就返回,可以用于查找满足某条件的第一个数值
reduce:加和
reverse:翻转
- 数组两个方向进、出数组
let array=['a',1,'b']
array.unshift('c')
console.log(array)
array.shift()
console.log(array)
array.push('45')
console.log(array)
array.pop()
console.log(array)
- charAt(index) : 返回index位置对应字符。
- str[index]:返回index位置对应的字符,字符串也可以通过下标进行访问
- charCodeAt(index):返回index位置字符对应的Unicode编码
一些string的方法使用时前面要加str
- parseInt,可解析一个字符串,根据进制返回一个整数,第一个字符是数字就进行解析,不是数字返回NaN。
document.write(parseInt("10") + "<br>");
document.write(parseInt("10.33") + "<br>");
document.write(parseInt("34 45 66") + "<br>");
document.write(parseInt(" 60 ") + "<br>");
document.write(parseInt("40 years") + "<br>");
document.write(parseInt("He was 40") + "<br>");
document.write("<br>");
document.write(parseInt("10",10)+ "<br>");
document.write(parseInt("010")+ "<br>");
document.write(parseInt("10",8)+ "<br>");
document.write(parseInt("0x10")+ "<br>");
document.write(parseInt("10",16)+ "<br>");
10
10
34
60
40
NaN
10
10
8
16
16
- match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置
带有字母 g ,全局匹配正则表达式:str.match(/\d+/g),找到所有匹配子字符串
不带有 g 执行一次匹配。
let str1 = '1235jhjk'
let matchReturn = str1.match(/\d+/) //返回值为数组形式,取[0]为匹配结果
matchReturn: ["1235", index: 0, input: "1235jhjk", groups: undefined]
-
Math.floor(x):向下取整
-
Math.ceil(x):向上取整
-
Math.round(x):四舍五入
-
str.substr(start[,length]) length为可选项,取一定长度的字符串字串,没有的时候从start开始取到字符串结束,这个是对字符串进行操作,下面slice是对数组进行操作。
-
字符串拼接:+号
-
str.split(‘’)通过指定符号分割字符串为数组,如 ‘#’、’,’ 、默认为空格
-
strArray.join(‘’) 将数组拼接为字符串
-
arrayObject.slice(start,end) :slice() 方法可从已有的数组中返回选定的元素,下标从0开始,选取从start开始;如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。返回一个新数组。
-
arrayObject.splice(index,howmany,item1,…,itemX)方法向从数组中添加(howmany为0)/删除(howmany非0)项目,然后返回被删除的项目。会改变原有数组。下标从0开始。改变原始数组
aaa.splice(2,0,1,2)。下标为2的地方添加1,2
aaa.splice(2,1,1,2)。删除下标为2的元素,并在该位置添加1,2
aaa.splice(2,3)。从下标为2开始删除3个元素 -
concat:数组方法,返回一个新数组,不对原数组进行修改。
-
arr.reverse()翻转数组,若想翻转字符串可 split ⇒ reverse ⇒ join
-
字符串数组公用方法
方法 | 字符串 | 数组 |
---|---|---|
concat() 将两个或多个字符的文本组合起来,返回一个新的字符串。 | √ | √ |
indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。 | √ | √ |
lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。 | √ | √ |
slice() – 提取字符串/数组的一部分,并返回一个新字符串。 | √ | √ |
length属性 – 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。 | √ | √ |
charAt() – 返回指定位置的字符。 | √ | |
match() – 检查一个字符串是否匹配一个正则表达式。 | √ | |
substr() 函数 – 返回从string的startPos位置,长度为length的字符串 | √ | |
substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。 | √ | |
replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。 | √ | |
search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。 | √ | |
split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组。 | √ | |
toLowerCase() – 将整个字符串转成小写字母。 | √ | |
toUpperCase() – 将整个字符串转成大写字母。 | √ | |
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。如果没有符合条件的元素返回 undefined,不改变原数组 | √ | |
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 | √ | |
pop() 删除并返回数组的最后一个元素。 | √ | |
shift() 删除并返回数组的第一个元素 | √ | |
push() 向数组的末尾添加一个或更多元素,并返回新的长度。 | √ | |
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。 | √ | |
reverse() 颠倒数组中元素的顺序。 | √ | |
sort() 对数组的元素进行排序 | √ | |
splice() 删除元素,并向数组添加新元素。 | √ | |
toSource() 返回该对象的源代码。 | √ | |
toString() 把数组转换为字符串,并返回结果。 | √ | |
toLocaleString() 把数组转换为本地数组,并返回结果。 | √ | |
valueOf() 返回数组对象的原始值 | √ | |
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。 | √ |
-
toString()方法不改变原数据,需要新变量得到新数据(也可以使用原变量)
-
‘aaa’.toUpperCase(),转化为大写字母
-
‘aaa’.toLowerCase(),转化为小写字母
-
array.sort((a,b)=>{return a-b}),返回值要是数值,不是boolean类型,差值<0:a在b的前面,差值>0:a在b的后面,差值==0:a和b相等
-
Number(string),将字符串转化为数组,相当于隐式转换,true==》1;flase==》0;null==》0;undefined==》NaN;222 555=》NaN;
-
createElement(’’):创建一个标签,参数要加引号。var para = document.createElement(“p”);
-
children :以及子元素
-
childNodes :所有子元素,包括孙子级…
-
parentNode,获取父元素节点
-
appendChild();传入一个子节点
-
removeChild();删除一个子节点
-
firstNode获取第一个子节点
-
lastNode
-
cloneNode:得到一个节点的副本
-
previousSibling上一个兄弟节点
-
nwextSibling
-
insertBefore(newElement,targetElement);在目标点之前插入元素
-
onfocus获得焦点
-
onblur失去焦点
-
oncontextmenu鼠标右键事件
-
document.querySelector()系列与 document.getElementBy系列区别是:前者获取内容为静态,后者为动态
-
setPrototypeOf(obj,prototype),将prototype绑定到obj上
-
obj.getOwnPropertyNames() 返回对象所有自己的属性,包括可枚举的和不可枚举的
-
js中in的使用
1、for in 遍历对象/数组
2、判断某元素是否是对象(数组)中的属性(元素);数组返回下标,不是值;对象返回key值,不是value -
for of 可用于迭代数组(array)、集合(set)、字符串(string)、映射(map),只能遍历可迭代对象,object数据类型不可迭代,不可用于迭代object数据类型。
-
number.toString(radix),返回一个数字(变量)对应进制的字符串,不能直接使用数字.toString();十进制==>任意进制
-
parseInt(string, radix),解析一个字符串返回一个整数,radix是字符串的进制,返回的整数是十进制;任意进制==>十进制
-
new Array(len).fill(0):创建一个长度为len ,内容全为0的数组
-
数组filter的使用
-
驼峰写法charCodeAt、charAt、indexOf、toString、toLowerCase、toUpperCase、setTimeout、setInterval、
-
forEach对原始数组进行修改;map返回一个新的数组,能够保证原数组不变。