JavaScript使用小技巧

1 underfined、null、0、false、NaN、空字符串的逻辑结果均为false2 从数组中随机获取成员var items = [12, 548 , ‘a’ , 2 , 5478 , ‘foo’ , 8852, , ‘Doe’ , 2145 , 119];var randomItem = items[Math.floor(Math.random() * items.length)];3 获取指定范围内的随机数var x = Math.floor(Math.random() * (max – min + 1)) + min;4 获取数组中的最大值和最小值var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];var maxInNumbers = Math.max.apply(Math, numbers);var minInNumbers = Math.min.apply(Math, numbers);5 清空数组var myArray = [12 , 222 , 1000 ];myArray.length = 0; // myArray will be equal to [].6 不要直接从数组中delete或remove元素切忌:var items = [12, 548 ,’a’ , 2 , 5478 , ‘foo’ , 8852, , ‘Doe’ ,2154 , 119 ];items.length; // return 11delete items[3]; // return trueitems.length; // return 11/* items 结果为 [12, 548, "a", undefined × 1, 5478, "foo", 8852, undefined × 1, "Doe", 2154, 119] */而应:var items = [12, 548 ,’a’ , 2 , 5478 , ‘foo’ , 8852, , ‘Doe’ ,2154 , 119 ];items.length; // return 11items.splice(3,1) ;items.length; // return 10/* items 结果为 [12, 548, "a", 5478, "foo", 8852, undefined × 1, "Doe", 2154, 119]删除对象的属性时可以使用delete。*/7 在条件中使用逻辑与或逻辑或还可用来设置默认值,比如函数参数的默认值。function doSomething(arg1){ arg1 = arg1 || 10; // arg1 will have 10 as a default value if it’s not already set}8 通过for-in循环检查对象的属性下面这样的用法,可以防止迭代的时候进入到对象的原型属性中。for (var name in object) { if (object.hasOwnProperty(name)) { // do something with name }}9 用JSON来序列化与反序列化var person = {name :’Saad’, age : 26, department : {ID : 15, name : "R&D"} };var stringFromPerson = JSON.stringify(person);/* stringFromPerson 结果为 "{"name":"Saad","age":26,"department":{"ID":15,"name":"R&D"}}" */var personFromString = JSON.parse(stringFromPerson);/* personFromString 的值与 person 对象相同 */10 不要对数组使用for-in避免:var sum = 0;for (var i in arrayNumbers) { sum += arrayNumbers[i];}而是:var sum = 0;for (var i = 0, len = arrayNumbers.length; i < len; i++) { sum += arrayNumbers[i];}另外一个好处是,i和len两个变量是在for循环的第一个声明中,二者只会初始化一次,这要比下面这种写法快:for (var i = 0; i < arrayNumbers.length; i++)11 原始操作符比函数调用快比如,,一般不要这样:var min = Math.min(a,b);A.push(v);可以这样来代替:var min = a < b ? a : b;A[A.length] = v;参考:

人生如果错了方向,停止就是进步”。

JavaScript使用小技巧

相关文章:

你感兴趣的文章:

标签云: