js 弱类型 :
//字符串改数字,1:parseint(),2:number();3:弱类型
var x='123';//x为字符串
x=x-0;//typeof(x)为数字
x=x*1;//typeof(x)为数字
map方法:数组中的每个值都进行一次函数操作(参数:1个,表示当前的元素)
var arr=[1,2,3]
arr.map(function(x){return x*x});//返回1 4 9
reduce方法:把结果继续与序列中的下一个元素进行操作(参数:两个)
var arr=[1,2,3]
arr.reduce(function(x,y){return x*10+y});//返回:123
filter方法:过滤,按照函数的条件过滤,保留符合条件的元素。
var arr=[1,2,3,4,5,6,7]
arr.filter(function(x){return x%2!=0});//删除偶数,返回:数组[1,3,5,7]
arr.filter(
function(element,index,self){//element:当前元素,index:下标,self:数组本身
if(element ==1){return false;}
else {
for(var i=2;i<element;i++){
if(element%i===0){return false;}
}
return true;
}
}
)
js常用方法:
string:
str.split(x [,y]):字符串分割为数组,x表示分割条件,y:可选,返回数组的最大长度
str.toUpperCase():字符串转换成大写
str.toLowerCase():字符串转换成小写
str.substring(x [,y]):返回介于下标之间的字符,不接受负值
str.slice(x [,y]):返回介于下标之间的字符,接受负值
str.substr(x [,len]):返回x开始len长度的字符,接受负值
array:
arr.indexOf(element);返回element第一次出现的位置
js闭包:函数里面return另一个函数
var add = (function () {
var counter = 0;
return function () {return counter += 1;}//变量add 等于该匿名函数
})();//自执行
add();
add();
add();
//输出 3.
或者
function bdd() {
var counter = 0;
return function () {return counter += 1;}// bdd函数里面 return 一个匿名函数
};
var add=bdd();
add();
add();
add();
//输出 3.
1:作为返回值,就近取值。
2:作为参数传入,则只取全局的值。