[b]复制数组[/b]
[b]foreach形式的便利特点[/b]
[b]Javascript 不存在块层次的作用域。[/b]
[b]强制浏览器从服务器端加载页面[/b]
[b]每一个函数都拥有length属性,表示该函数声明的参数个数[/b]
[b]构建由一个字符组成的特定长度的字符串[/b]
[b]消除字符串的前后空白字符[/b]
[b]将"word-word"形式的字符串转换为"wordWord"[/b]
[b]将对象构造成为一个伪数组[/b]
[b]获取数组中的最大/小值[/b]
[b]数组的索引i的取值范围:[/b]
数组的索引i的取值范围是:0<=i<=2^52-1之间的整数,如果i不在这个范围内(超出范围或浮点数或字符串等),其结果并不是添加一个数组元素,而是为该是数字添加了一个属性,也不会被影响到length属性。另外,数组的length属性是可写的,修改它将会对数组进行截断或扩增。
[b]正则表达式:[/b]
[b]小数取精度[/b]
[b]范围随机整数[/b]
[b]获取URL的查询字符串[/b]
[b]判断字符是英文还是中文[/b]
var orgArray = [];
var target = orgArray.concat();
[b]foreach形式的便利特点[/b]
//该遍历会输出对象及其函数prototype上的属性/方法,但不会枚举出继承的属性!
for (p in o)
alert(p);
[b]Javascript 不存在块层次的作用域。[/b]
if (true) {
var color = “blue”;
}
for (var i=0; i < 10; i++){
doSomething(i);
}
alert(i); //10
alert(color); //”blue”
[b]强制浏览器从服务器端加载页面[/b]
location.reload(true);//强制从获取服务器数据
location.reload();//有可能获取的是缓存数据
[b]每一个函数都拥有length属性,表示该函数声明的参数个数[/b]
function sayName(name){
alert(name);
}
function sayHi(){
alert('Hi');
}
function sum(num1,num2){
alert(num1 + num2);
}
alert(sayName.length);//1
alert(sayHi.length);//0
alert(sum.length);//2
[b]构建由一个字符组成的特定长度的字符串[/b]
if (!String.repeat) {
String.prototype.repeat = function(l){
return new Array(l+1).join(this); }
}
//例子
var str = 'a'.repeat(5);// 'aaaaa'
[b]消除字符串的前后空白字符[/b]
if (!String.trim) {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,'');
}
}
[b]将"word-word"形式的字符串转换为"wordWord"[/b]
function camelize(s) {
return s.replace(/-(\w)/g, function (strMatch, p1){
return p1.toUpperCase();
});
}
[b]将对象构造成为一个伪数组[/b]
var elems = {
add: function(e){
//下面的代码将为对象elems添加2个属性:length(已存在则更新) 和一个数字
Array.prototype.push.call(this,e);
}
}
//示例:
for(var p in elems)
alert(p)//add
elems.add(9);
for(var p in elems)
alert(p)//add,length,0
elems.add(7);
for(var p in elems)
alert(p)//add,length,0,1
[b]获取数组中的最大/小值[/b]
var arr = [3,4,'2',11];
alert(Math.min.apply(null,arr))
alert(Math.max.apply(null,arr))
[b]数组的索引i的取值范围:[/b]
数组的索引i的取值范围是:0<=i<=2^52-1之间的整数,如果i不在这个范围内(超出范围或浮点数或字符串等),其结果并不是添加一个数组元素,而是为该是数字添加了一个属性,也不会被影响到length属性。另外,数组的length属性是可写的,修改它将会对数组进行截断或扩增。
var a = [1,2,3,4]
a[b] = 0;
a[-12]=9
alert(a[b]);//0
alert(a[-12]);//9
alert(a);//1,2,3,4
[b]正则表达式:[/b]
//E-MAIL
var pattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
//日期格式为:YYYY|MM|DD|hh|ss.例如:2010|04|09|12|25
var pattern = /^(?:20\d{2})\|(?:0[1-9]|1[0-2])\|(?:0[1-9]|[12][0-9]|3[01])\|(?:0[0-9]|1[0-9]|2[0-3])\|(?:[0-5]\d)$/;
[b]小数取精度[/b]
function roundTo(base,precesion){
var m = Math.pow(10,precesion);
return Math.round(base * m)/m;
}
var ret = roundTo(Math.PI,3);//3.142
[b]范围随机整数[/b]
function randomBetween(min, max)
{
return min + Math.floor(Math.random() * (max - min + 1));
}
var ret = randomBetween(1,15);//2 maybe
[b]获取URL的查询字符串[/b]
function getQueryStringArgs(){
//get query string without the initial ?
var qs = (location.search.length > 0 ? location.search.substring(1) : "");
//object to hold data
var args = {};//get individual items
var items = qs.split("&");
var item = null,
name = null,
value = null;
//assign each item onto the args object
for (var i=0; i < items.length; i++){
item = items[i].split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
args[name] = value;
}
return args;
}
[b]判断字符是英文还是中文[/b]
var str = "中文en";
alert(str.length);//4 .不区分中英文
//调用 字符串的charCodeAt方法,它将返回字符的的Unicode值。
//对于英文,它的值可以参考ASCII表;而对于中文,它的值将大于 255.
alert(str.charCodeAt(0));//20013