JavaScript 实用代码片段和技巧集锦
59 浏览量
更新于2024-08-31
收藏 98KB PDF 举报
JavaScript 有用的代码片段和 trick
本资源提供了一些有用的 JavaScript 代码片段和 trick,涵盖了浮点数取整、生成 6 位数字验证码、16 进制颜色代码生成、驼峰命名转下划线、url 查询参数转 json 格式等多个方面。
浮点数取整
在 JavaScript 中,我们可以使用多种方法来将浮点数取整,例如:
* 使用位运算符 `>>`:`x >> 0; // 123`
* 使用按位 NOT 运算符 `~~`:`~~x; // 123`
* 使用按位 OR 运算符 `|`:`x | 0; // 123`
* 使用 `Math.floor()` 函数:`Math.floor(x); // 123`
需要注意的是,前三种方法只适用于 32 位整数,对于负数的处理上和 `Math.floor` 是不同的。例如:
* `Math.floor(-12.53); // -13`
* `-12.53 | 0; // -12`
生成 6 位数字验证码
生成 6 位数字验证码可以使用以下几种方法:
* 方法一:`('000000' + Math.floor(Math.random() * 999999)).slice(-6);`
* 方法二:`Math.random().toString().slice(-6);`
* 方法三:`Math.random().toFixed(6).slice(-6);`
* 方法四:`'' + Math.floor(Math.random() * 999999);`
16 进制颜色代码生成
可以使用以下代码来生成 16 进制颜色代码:
`(function(){
return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).slice(-6);
})();`
驼峰命名转下划线
可以使用以下代码来将驼峰命名转换为下划线命名:
`'componentMapModelRegistry'.match(/^[a-z][a-z0-9]+|[A-Z][a-z0-9]*/g).join('_').toLowerCase(); // component_map_model_registry`
url 查询参数转 json 格式
可以使用以下代码来将 url 查询参数转换为 json 格式:
// ES6 实现
const query = (search = '') => ((querystring = '') => (q => (querystring.split('&').forEach(item => (kv => kv[0] && (q[kv[0]] = kv[1]))(item.split('='))), q))({}))(search.split('?')[1]);
// 对应 ES5 实现
var query = function(search){
if(search === void 0){ search = ''; }
return (function(querystring){
if(querystring === void 0){ querystring = ''; }
return (function(q){
return (querystring.split('&').forEach(function(item){
var kv = item.split('=');
kv[0] && (q[kv[0]] = kv[1]);
}), q);
})({});
})(search.split('?')[1]);
这些代码片段和 trick 可以帮助开发者快速解决一些常见的问题,提高开发效率和代码质量。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-03-01 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-21 上传
weixin_38660813
- 粉丝: 5
- 资源: 982
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析