在全局函数中,this等于window
在函数被作为某个对象的方法调用时,this等于那个对象。
数组的函数:
检测:Array.isArray() 转换:toString(),toLocalString(),valueOf(),join() 排序:sort(f),reverse() 栈:pop,push 队列:shift和unshift 操作方法: concat 将参数加入到一个新的数组后,不影响自己 slice(1,4) 从第1项切割到第4项(不包括最第四项) 不影响自己 splice操作的是数组自己,splice(1,4) 从第一项删除到第四项 splice(2.0,"red"."green")起始位置,删除0项,加入两项 位置方法: indexof和lastindexof表示从前面和从后面开始查找的位置,没找到则返回-1 返回的索引位置都是从前面开始数的位置,所比较的方法都是全等 迭代方法:every(f) 对每一项运行指定函数,如果都为true,则返回true,否则返回false some(f) 如果有一项符合条件,则返回true;否则返回false; filter(f) 筛选出符合条件的数据组成的数组 forEach(f) 对每一项执行指定函数 map(f) 对每一项运行f,返回每次结果组成的数组 迭代缩小方法:reduce(f(prev,cur,index,array){})apply或call
sum.apply(this,arguments) //this相当于环境sum.apply(this,[num1,num2])sum.call(this,num1,num2)apply或call的真正用处在于扩充函数赖以运行的作用域:函数不用绑定在某个对象上。var foo=bar.bind(o);//将bar函数绑定在对象o上。foo.call()Global对象
isNaN()isFinite()parseInt()parseFloat()encodeURI()encodeURIComponent()其实undefined NaN Infinity Object,Function Error都是Global对象的属性 Number类型num.toFixed(2) 转化为小数点后两位的字符串num.toExponential(1)num.toPrecision(2)String类型
stringValue.length(包括双字符)charAt(1),charCodeAt(1),stringValue(1)concat("def"),但实际中用"+"更多slice(1,5)=substring(1,5) 从第一个到第五个substr(1,5)从第一个开始往后五个indexOf() lastindexOf() trim() toLocaleUpperCase() toUpperCase() toLocaleLowerCase() toLowerCase() var pattern=/.at/;var matches=text.match(pattern) search(pattern)类似,返回的是第一个匹配项的索引replace()可以替换部分,或替换所有,还能够跟函数,指定特定的替换方式split(",") 用指定的符号分割字符串,生成一个数组