20个实用的JavaScript技巧分享(2)
复制代码 代码如下: function generateRandomAlphaNum(len) { var rdmstring = ""; for( ; rdmString.length len; rdmString += Math.random().toString(36).substr(2)); return rdmString.substr(0, len);
复制代码 代码如下:
function generateRandomAlphaNum(len) {
var rdmstring = "";
for( ; rdmString.length < len; rdmString += Math.random().toString(36).substr(2));
return rdmString.substr(0, len);
}
11.打乱数字数组
复制代码 代码如下:
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];
numbers = numbers.sort(function(){ return Math.random() - 0.5});
/* the array numbers will be equal for example to [120, 5, 228, -215, 400, 458, -85411, 122205] */
12.字符串tim函数
trim函数可以删除字符串的空白字符,可以用在Java、C#、PHP等多门语言里。
复制代码 代码如下:
String.prototype.trim = function(){return this.replace(/^\s+|\s+$/g, "");};
13.数组追加
复制代码 代码如下:
var array1 = [12 , "foo" , {name "Joe"} , -2458];
var array2 = ["Doe" , 555 , 100];
Array.prototype.push.apply(array1, array2);
/* array1 will be equal to [12 , "foo" , {name "Joe"} , -2458 , "Doe" , 555 , 100] */
14.将参数对象转换为数组
复制代码 代码如下:
var argArray = Array.prototype.slice.call(arguments);
15.验证一个给定参数是否为数字
复制代码 代码如下:
function isNumber(n){
return !isNaN(parseFloat(n)) && isFinite(n);
}
16.验证一个给定的参数为数组
复制代码 代码如下:
function isArray(obj){
return Object.prototype.toString.call(obj) === '[object Array]' ;
}
注意,如果toString()方法被重写了,你将不会得到预期结果。
或者你可以这样写:
复制代码 代码如下:
Array.isArray(obj); // its a new Array method
同样,如果你使用多个frames,你可以使用instancesof,如果内容太多,结果同样会出错。
复制代码 代码如下:
var myFrame = document.createElement('iframe');
document.body.appendChild(myFrame);
var myArray = window.frames[window.frames.length-1].Array;
var arr = new myArray(a,b,10); // [a,b,10]
// instanceof will not work correctly, myArray loses his constructor
// constructor is not shared between frames
arr instanceof Array; // false
17.从数字数组中获得最大值和最小值
- 上一篇:20条学习javascript的编程规范的建议
- 下一篇:js获取浏览器基本信息大全
精彩图集
精彩文章