本文来自牛客网上JS能力测评经典题50题,回顾JavaScript及es5中的方法,用于反复加强/巩固。正在更新中。
方法
arguments是本function的参数。
下面两个arguments不同。partialUsingArguments(functionName, a, b)(c, d);
function partialUsingArguments(fn) {
var arr = [].slice.call(arguments,1);
return function(){
return fn.apply(this, arr.concat( [].slice.call(arguments)));
};
}
语句和运算符
判断后,执行true/false
if(Boolean){} else{}
/Boolean? true: false
数组
1删除数组arr的元素
例:删除数组arr的第一个元素:
不修改arr:arr.slice(1)
/arr.slice(1, arr.length)
修改arr:arr.splice(0,1)
2增加数组arr1的元素
不修改arr,但只能前后添加:arr1.concat(arr2)
/arr2.concat(arr1)
3复制数组arr
一般用于,保存数组arr不被修改:
var temp = arr.slice(0)
/arr.concat()
/arr.concat([])
4遍历数组arr
这里默认都是,顺序遍历ele_value。不修改arr。fn是functionName/声明
1.简单遍历
遍历无返回值,并且无法bleak: forEach(fn)
会跳过空位
遍历有返回值,map()
2.用于筛选
for循环
/while循环
i在变,比如删除元素用倒序遍历
/filter
arr.sort(fn)
改变arr
待补充
遍历对象
遍历数字键 Array.prototype.forEach.call(obj,fn)
遍历字符串
遍历每个字母 Array.prototype.forEach.call(str,fn)
/[].forEach.call(str,fn)
/str.split().call(str,fn)
forEach(fn, content)
和map(fn,content)
fn回调函数的this指向content
定时器
这里都是指,过了1000ms,才执行第一次
定时执行一次 setTimeout(fn, 1000)
无限次的定时执行(1 setInterval(fn, 1000)
无限次的定时执行(2 fn
中调用setTimeout(fn, 1000)
随时停止定时器clearInterval(timer)
/clearTimeout(timer)
待条件判断的无限次的定时器:
fn
中判断是否继续调用setTimeout(fn, 1000)
/setInterval(fn, 1000)
内判断是否停止