首页 > 代码库 > JS比较好用的一些方法搜集
JS比较好用的一些方法搜集
JS比较好用的一些方法搜集
Math.ceil(x) -- 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入
Math.floor(x)--返回小于等于数字参数的最大整数,对数字进行下舍入
join()
例:var a = ["a","b","c"]; 若要输出"a,b,c" 需要a.join(‘,‘) 用","将数组项连接
若想输出"abc" 直接a.join(‘‘)
push()
方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。
例:var a=[1,2,3,4] a.push(5) ; 数组a将会有1,2,3,4,5 五个元素
注意: push()参数可以是多个数值(param1,param,…paramN),但不能是对象
var arr1 = [1, 3, 4];
var arr2 = [3, 4, 5];如果用arr1.push(arr2) 数组arr1得到的是[1,3,4,[3,4,5]] 而不是[1,3,4,3,4,5]
如果要得到[1,3,4,3,4,5] 用 Array.prototype.push.apply(arr1, arr2); 或arr1=arr1.concat(arr2) concat方法并不改变arr1本身
但是可以arr1.push(5,6) 这样得到的是[1,3,4,5,6]
aaa
toFixed()
四舍五入
例 :var x=0.02345 x.toFixed(2) 结果为0.002 x=0.0564 结果为0.06
apply()
apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.Function.apply(obj,args)方法能接收两个参数
obj:这个对象将代替Function类里this对象
args:这个是数组,它将作为参数传给Function(args-->arguments)例: /*定义一个人类*/
function Person(name, age) {
this.name= name;
this.ag= age;
}
/*定义一个学生类*/
function Student(name, age, grade)
{
Person.apply(this, arguments); //this 为Student这个对象 arguments为传入的参数集合
this.grade = grade;
}当我们创建对象 var object=new Student(‘aking‘,26,‘one‘); 此时执行Student 当执行到Person.apply(this, arguments);
这个时候Person中的this对象 将被student的对象代替并执行person方法 在Person方法体中 student对象.name="aking";
student对象.age=26;
apply()妙用:Math.max(param1,param2,param3…) ==>var max=Math.max.apply(null,array)
Math.min(param1,param2,param3…) ==>var min=Math.min.apply(null,array)
push(param1,param,…paramN) ==>Array.prototype.push.apply(arr1,arr2);
一般在目标函数只需要n个参数列表,而不接收一个数组的形式([param1[,param2[,…[,paramN]]]]),可以通过apply的方式巧妙地解决这个问题!
map() (Jquery方法)
jQuery.map(array,callback) 将一个数组中的元素转换到另一个数组中。作为参数的转换函数会为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。转换函数可以返回转换后的值、null(删除数组中的项目)或一个包含值的数组,并扩展至原始数组中。
参数
array (Array) : 待转换数组。callback (Function) : 为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。函数可返回任何值。另外,此函数可设置为一个字符串,当设置为字符串时,将 视为“lambda-form”(缩写形式?),其中 a 代表数组元素。如“a * a”代表“function(a){ return a * a; }”。示例
将原数组中每个元素加 4 转换为一个新数组。jQuery 代码:
$.map( [0,1,2], function(n){
return n + 4;
});
结果:[4, 5, 6]
--------------------------------------------------------------------------------
原数组中大于 0 的元素加 1 ,否则删除。
jQuery 代码:
$.map( [0,1,2], function(n){
return n > 0 ? n + 1 : null;
});
结果:[2, 3]
eval:函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。(eval不可能在全局空间内执行)