JS常用方法
1.map()
该方法返回一个新数组,数组中的元素为原数组调用函数后处理过的值
var arr =[1,2,3,4,5]
var arr2 =arr.map((x)=>{return x+1})
2.trim()
**trim()**用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。
trim() 方法不会改变原始字符串。
trim() 方法不适用于 null, undefined, Number 类型。
var str = " Runoob ";
alert(str.trim());// "Runoob"
3.split()
split() 方法用于把一个字符串分割成字符串数组。
分割是通过指定的分隔符进行分割
"hello".split("") //可返回 ["h", "e", "l", "l", "o"]
4.reserve()
reverse() 方法用于颠倒数组中元素的顺序。
var arr = [1,2,3]
arr.reserve() //expected output:[3,2,1]
5.join()
join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();
//expected output:'Banana,Orange,Apple,Mango'
6.charAt()
charAt() 方法可返回指定位置的字符。
var str="Hello world!"
document.write(str.charAt(1))
//expected output: e
7.fifter()
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
var ages = [32, 33, 16, 40];
var newages =ages.filter((x)=> return x>30)
//newages = [32,33,40]
8.hasOwnproperty
hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。
const object1 = {};
object1.property1 = 42;
console.log(object1.hasOwnProperty('property1'));
// expected output: true
9.indexOf
**indexOf()**方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];
console.log(beasts.indexOf('bison'));
// expected output: 1
10.lastIndexOf
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");
//output 2
11.forEach()
forEach() 方法會將陣列內的每個元素,皆傳入並執行給定的函式一次。
const array1 = ['a', 'b', 'c'];
array1.forEach(element => console.log(element));
// expected output: "a"
// expected output: "b"
// expected output: "c"
12.slice()
slice() 方法可从已有的数组中返回选定的元素。
**注释:**该方法会返回一个新的数组,不改变原数组
var arr =[1,2,3,4,5,6]
arr.slice(2,3)//output: [3]
arr//output:[1,2,3,4,5,6]
13.splice()
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
**注释:**该方法会改变原始数组。
var arr =[1,2,3,4,5,6]
arr.splice(2,1,9)//output [1,2,9,4,5,6]
14.getPrototypeof()
该**Object.getPrototypeOf()
**方法返回[[Prototype]]
指定对象的原型(即内部属性的值)。
const prototype1 = {};
const object1 = Object.create(prototype1);
console.log(Object.getPrototypeOf(object1) === prototype1);
// expected output: true
15.apply
apply()函数,第一个参数是 this 的指向对象,第二个参数为调用函数的所有形参,用一个数组表示,并且在调用后立即执行。
var obj ={
name:'小明',
a:function (b,c){
return this.name+b+c
}
}
var obj2 ={
name:'小红'
}
obj.a.apply(obj2,[1,2])//output 小红12
16.call
call()函数,第一个参数是 this 的指向对象,剩余的参数为调用函数的形参,每个参数直接用‘,’隔开,并且在调用后立即执行。
var obj ={
name:'小明',
a:function (b,c){
return this.name+b+c
}
}
var obj2 ={
name:'小红'
}
obj.a.call(obj2,1,2)//output 小红12
17.bind
bind()函数,第一个参数是 this 的指向对象,剩余的参数为调用函数的形参,每个参数直接用‘,’隔开,调用后返回一个新的函数,不立即执行。
var obj ={
name:'小明',
a:function (b,c){
return this.name+b+c
}
}
var obj2 ={
name:'小红'
}
obj.a.bind(obj2,1,2)()//output 小红12
18.toFixed()
把 Number类型 四舍五入为指定小数位数的数字。
var num = 12123.12
num.toFixed()//output 12123
19.toLowerCase()
toLowerCase() 方法用于把字符串转换为小写。
var str = 'SAD12a'
str.toLowerCase()//output 'sad12a'
20.toUpperCase()
toUpperCase()方法用于把字符串转换为大写。
var str = 'SAD12a'
str.toUpperCase()//output 'SAD12A'
21.eval()
JavaScript 中的 eval(…) 函数可以接受一个字符串为参数,并将其中的内容视为好像在书
写时就存在于程序中这个位置的代码。换句话说,可以在你写的代码中用程序生成代码并
运行,就好像代码是写在那个位置的一样。
var str = 'SAD12a'
str.toUpperCase()//output 'SAD12A'
function foo(str, a) {
eval( str ); // 欺骗!
console.log( a, b );
}
var b = 2;
foo( "var b = 3;", 1 ); // 1, 3
eval(…) 调用中的 “var b = 3;” 这段代码会被当作本来就在那里一样来处理。由于那段代
码声明了一个新的变量 b,因此它对已经存在的 foo(…) 的词法作用域进行了修改