一些你可能不知道的Javascript技巧
2017-01-05 17:27
169 查看
JavaScript中那些被忽略的技巧 1. 字符串转换为数字 var a = "123"; console.log(+a); // 123 console.log(typeof +a); // number // 同样可用于日期转换为数值: var b = +new Date(); // 1468545682168 2. 数值向下取整 var a = ~~3.14; // 3 var b = 3.14>>0; // 3 var c = 3.14|0; // 3 3. 字符串转换为数值并取整<!-- more --> var a = "3.14"|0; // 3 var b = "3.14"^0; // 3 4. 函数设置默认值 function func(arg){ var arg = arg || "default"; // arg 为 undefined, null, "", 0, false, NaN 时最后都得到"default" } 5. 变量值交换 var a = 1, b = 2; a = [b, b = a][0]; console.log(a); // 2 console.log(b); // 1 6. 使用 for in 遍历对象取到属性名与属性 var obj = { a: 1, b: 2 } for(var i in obj) { console.log("obj." + i + " = " + obj[i]); } // output: obj.a = 1 // obj.b = 2 7. 截断数组 var arr = [1, 2, 3, 4, 5, 6]; arr.length = 3; console.log(arr); // [1, 2, 3] 8. 提高遍历较大Enumerable数据的性能 var arr = [1, 2, 3, 4, 5, 6, ...]; var len = arr.length; // 缓存arr.length for(var i = 0; i < len; i++) { console.log(arr[i]); } // 或者(推荐使用) for(var i = 0, a; a = arr[i++];) { console.log(a); } 9. 使用 && 替代单一条件判断 // 你可能这样写过 if(!token) { login(); } // 其实这样也可以 !token && login(); 10. 检测 对象/数组 中是否有指定 属性/元素 var CURD = { add: function() {}, delete: function() {}, edit: function() {} } console.log("add" in CURD); // true console.log("find" in CURD); // false var arr = [1, 2, 3]; console.log(1 in arr); // true console.log(6 in arr); // false 11. 通过闭包调用setTimeout for(var i = 0; i < 10; i++) { setTimeout(function(){ console.log(i); // 10 10 10 ... },500); } for(var i = 0; i < 10; i++) { (function(i){ setTimeout(function(){ console.log(i); // 0 1 2 3 ... },500) })(i); }
相关文章推荐
- 你可能不知道的一些JavaScript 奇技淫巧
- [转载]你可能不知道的一些JavaScript 奇技淫巧
- 14 个你可能不知道的 JavaScript 调试技巧
- 14个你可能不知道的JavaScript调试技巧
- 14个你可能不知道的JavaScript调试技巧
- 你可能不知道的一些JavaScript 奇技淫巧
- js_调试_01_14 个你可能不知道的 JavaScript 调试技巧
- 【转载】14个你可能不知道的 JavaScript 调试技巧
- 你可能不知道的javascript调试技巧
- 14个你可能不知道的javascript调试技巧
- 你可能不知道的一些JavaScript 奇技淫巧
- 【第1104期】14 个你可能不知道的 JavaScript 调试技巧
- 你可能不知道的19个JavaScript编码技巧
- 14 个你可能不知道的 JavaScript 调试技巧
- 转: Simple ASP.NET 2.0 Tips and Tricks that You May (or may not) have Heard About (一些简单的、你可能已经知道或者不知道的ASP.NET 2.0技巧)
- 你可能不知道的一些JavaScript 奇技淫巧
- 14个你可能不知道的JavaScript调试技巧
- 14个你可能不知道的JavaScript调试技巧
- 14个你可能不知道的JavaScript调试技巧
- 14 个你可能不知道的 JavaScript 调试技巧