超实用的JavaScript技巧及最佳实践给
1、数组创建一个随机项
var items = [12,548,'a',2,5478,'foo',8852,,'Doe',2145,119];
var randomItem = items[Math.floor(Math.random()*items.length)];
2、在特定范围里获得一个随机数
var x = Math.floor(Math.random()*(max - min + 1)) + min;
3、在数字0和最大数之间生成一组随机数
var numbersArray = [], max = 100;
for( var i=1; numbersArray.push(i++)<max;);
4、生成一组随机的字母数字字符
function generateRandomAiphaNum(len){
var rdmstring = "";
for( ; rdmString.length < len; rdmString += Math.random().toString(36).substr(2));
return rdmString.substr(0,len);
}
5、打乱数字数组
var numbers = [5,458,120,-215,228,400,1222205,-85411];
numbers = numbers.sort(function(){
return Math.random() - 0.5
});
6、字符串trim函数
String.prototype.trim = function(){
return this.replace(/^\s+|\s+$/g,"");
};
7、数组追加
var array1 = [12,"foo",{name "Joe"},-2458];
var array2 = ["Doe",555,100];
Array.prototype.push.apply(array1,array2);
8、将参数对象转换为数组
var argArray = Array.prototype.slice.call(arguments);
9、验证一个给定参数是否为数字
function isNumber(n){
return !isNaN(parseFloat(n)) && isFinite(n);
};
10、验证一个给定的参数为数组
function isArray(obj){
return Object.prototype.toString.call(obj) ==='[object Array]';
};
注意:如果toString()方法被重写了,你将不会得到预期结果。
或者你可以这样写:
var myFrame = document.createElement('iframe');
document.body.appendChile(myFrame);
var myArray = window.frames[window.frames.length-1].Array;
var arr = new myArray(a,b,10);
arr instanceof Array;
11、从数字数组中获得最大值和最小值
var numbers = [5,458,120,-215,228,400,122205,-85411];
var maxInNumbers = Math.max.apply(Math,numbers);
var minInNumbers = Math.min.apply(Math,numbers);
12、清空数组
var myArray = [12,222,1000];
myArray.length = 0;
13、不要用delete从数组中删除项目
开发者可以使用split来代替使用delete来删除数组项。与其删除数组中未定义项目,还不如使用delete来替代。
var items = [12,548,'a',2,5478,'foo',8852, ,'Doe',2154,119];
item.length;//return 11
delete items[3];
items.length;//return 11
/*[12,548,'a',undefined,5478,'foo',8852, ,'Doe',2154,119]*/
也可以……
var items = [12,548,'a',2,5478,'foo',8852, ,'Doe',2154,119];
item.length;//return 11
items.splice(3,1);
items.length;//return 10
/*[12,548,'a',5478,'foo',8852, ,'Doe',2154,119]*/
delete方法应该删除一个对象属性
14、使用length属性缩短数组
如上文提到的清空数组,开发者还可以使用length属性缩短数组。
var myArray = [12,222,1000,124,98,10];
myArray.length = 4;//[12,222,1000,124];
如果你所定义的数组长度值过高,那么数组的长度将会改变,并且会填充一些未定义的值到数组里,数组的length属性不是只读的。
myArray.length = 10;
myArray[myArray.length - 1];//undefined
超实用的JavaScript技巧及最佳实践给的更多相关文章
- 【转】超实用的JavaScript技巧及最佳实践
众所周知,JavaScript是一门非常流行的编程语言,开发者用它不仅可以开发出炫丽的Web程序,还可以用它来开发一些移动应用程序(如PhoneGap或Appcelerator),它还有一些服务端实现 ...
- 超实用的JavaScript技巧及最佳实践
众所周知,JavaScript是一门非常流行的编程语言,开发者用它不仅可以开发出炫丽的Web程序,还可以用它来开发一些移动应用程序(如PhoneGap或Appcelerator),它还有一些服务端实现 ...
- 超实用的JavaScript技巧及最佳实践(上)
在这篇文章中,作者将会向大家分享JavaScript开发的小技巧.最佳实践等非常实用的内容,不管你是前端开发者还是服务端开发者,都应该来看看这些小技巧,它们绝对会让你受益的. 文中所提供的代码片段都已 ...
- 超实用的JavaScript技巧及最佳实践(下)
1.使用逻辑符号&&或者||进行条件判断 1 2 3 var foo = 10; foo == 10 && doSomething(); // is the same ...
- 20个超实用的JavaScript技巧及最佳实践
1.第一次给变量赋值时,别忘记var关键字 给一个未声明的变量赋值,该变量会被自动创建为全局变量,在JS开发中,应该避免使用全局变量. 2.使用===替换== 并且永远不要使用=或!=. ...
- javascript编程的最佳实践推荐
推荐的javascript编程的最佳实践,摘要记录在这里: 可维护的代码保证代码的性能部署代码 1 可维护的代码1.1什么是维护的代码:可理解性——其他人可以接手代码并理解它的意图和一般途径,而无需原 ...
- 避免Java应用中NullPointerException的技巧和最佳实践
Java应用中抛出的空指针异常是解决空指针的最好方式,也是写出能顺利工作的健壮程序的关键.俗话说"预防胜于治疗",对于这么令人讨厌的空指针异常,这句话也是成立的.值得庆幸的是运用一 ...
- (译) 《Javascript 24条最佳实践》
(摘录) <Javascript 24条最佳实践> 自己一直偏向于实用主义,不是学院派,不是学究派,只讲究把东西能够很好的做出来,但经过一段时间的开发工作当自己总结出来一些东西时,觉得挺有 ...
- nodejs进阶(1)——npm使用技巧和最佳实践
nodejs进阶教程,小白绕道!!! npm使用技巧和最佳实践 前提:请确保安装了node.js npm的最佳实践 npm install是最常见的npm cli命令,但是它还有更多能力!接下来你会了 ...
随机推荐
- java基础之IO流(二)之字符流
java基础之IO流(二)之字符流 字符流,顾名思义,它是以字符为数据处理单元的流对象,那么字符流和字节流之间的关系又是如何呢? 字符流可以理解为是字节流+字符编码集额一种封装与抽象,专门设计用来读写 ...
- java判断字符串中是否含有汉字
原文:http://www.open-open.com/code/view/1426332240717 判断字符串中是否含有汉字: String str = "test中文汉字"; ...
- BUPT复试专题—List(2015)
题目描述 在该LIST上实现3种操作 1.append x在该LIST末尾添加x,x是32位整数 2.pop删除该LIST末尾的数 3.find i寻找第i个数,若i为负数表示寻找倒数第i个数,例如i ...
- PostgreSQL触发器的使用
原文: https://www.yiibai.com/postgresql/postgresql-trigger.html -------------------------------------- ...
- Lambda 表达式的演示样例-来源(MSDN)
本文演示怎样在你的程序中使用 lambda 表达式. 有关 lambda 表达式的概述.请參阅 C++ 中的 Lambda 表达式. 有关 lambda 表达式结构的具体信息,请參阅 Lambda 表 ...
- mysql 同样内容的字段合并为一条的方法
从两个表中内联取出的数据,当中category_name字段有同样内容,想将具有同样内容的字段进行合并,将amount字段进行加法运算,变成下表中的内容 url=http%3A%2F%2Fdev.my ...
- android-----JNI中的log打印
1. 导入log头文件 在你使用的 .c/ .cpp 文件中 导入 log.h 头文件 #include<android/log.h> 2.在Android.mk 中 加上 LOCAL_L ...
- 从头学起-CLR的执行模型
1.将源代码编译成托管代码 公共运行时(Common Language Runtime) a.面向运行时的所有语言都可以通过异常报告错误 b.面向运行时的所有语言都可以创建线程 c.核心功能:管理内存 ...
- FPGA 功耗结构设计
1 相对于ASIC.FPGA是耗电器件,不适合超低功耗设计技术. 2 在CMOS技术中电路的动态功耗与门和金属引线的充放电有关,电容消耗电流的一般方程为 I=V* C*f V 是电压.对于FPGA来说 ...
- Sharepoint2013 列表的NewForm 页面加入一个 保存新建 button
昨天一同事问我怎样在sharepoint2013的NewForm.aspx页面上加入一个 save and new的button.实现save 和new的功能.save的功能和默认的save按钮效果一 ...