JavaScript实用函数集:消除数组重复值与Cookie操作
80 浏览量
更新于2024-08-28
收藏 98KB PDF 举报
"本文主要介绍了JavaScript中的一些常见实用函数,包括去除数组重复元素、操作Cookie、检测浏览器类型、检查Cookie是否启用、判断JavaScript是否被禁用、实现打字机效果、简单打印、禁止右键点击、防止垃圾邮件、复制功能、阻止事件冒泡和浏览器默认行为、获取URL参数、计算页面停留时间以及处理背景高度等实用技巧。"
1. **除去数组重复项**:通过扩展Array对象的方法remove,利用两个对象o1和o2分别存储已遍历过的不同和相同的元素,再将结果合并到新数组o3中。例如,`var a = [2,2,2,3,3,3,4,4,5,6,7,7]; a.remove();`会删除a数组中的重复元素。
2. **操作Cookie**:设置Cookie分为简单型和完整型。简单型通过setCookie函数设置,如`setCookie('cookieName', 'cookieValue', 30);`表示设置一个名为cookieName,值为cookieValue,有效期为30天的Cookie。完整型则增加了过期时间、路径、域名和安全性的设置。
3. **判断浏览器类型**:未提供具体实现,但通常可以通过检测navigator对象的userAgent属性来识别。
4. **判断是否开启Cookie**:同样未提供实现,一般通过尝试设置一个临时的Cookie并检查是否成功来判断。
5. **检测JavaScript是否被禁用**:浏览器不支持JavaScript或者被禁用的情况下,一些JavaScript代码将无法执行,可以尝试执行一个简单的JS操作并监听其结果。
6. **JavaScript打字机效果**:未提供具体实现,实现方法通常是通过setTimeout或requestAnimationFrame逐步显示文本。
7. **简单打印**:未提供具体实现,通常使用window.print()方法来触发浏览器的打印功能。
8. **禁止右键点击**:在页面中添加事件监听器,阻止默认的右键菜单出现,例如`document.oncontextmenu = function(e){ e.preventDefault(); }`。
9. **防止垃圾邮件**:通过JavaScript编码或替换特殊字符来隐藏邮箱地址,防止被爬虫抓取。
10. **复制功能**:可以使用clipboard API或第三方库如clipboard.js实现文本的复制功能。
11. **阻止冒泡事件或阻止浏览器默认行为**:通过addEventListener或attachEvent添加事件处理程序,并在事件处理函数中使用event.stopPropagation()阻止事件冒泡,用event.preventDefault()阻止浏览器的默认行为。
12. **获取地址栏参数**:通过window.location.search获取URL查询字符串,然后使用正则表达式或split方法解析参数。
13. **计算停留时间**:使用window.onload和window.onunload事件,记录页面加载和卸载的时间差。
14. **处理背景高度**:当div为空且只有背景时,可能需要JavaScript动态调整高度以适应背景图像。这通常涉及检测内容高度并设置div的高度。
以上就是JavaScript常用的一些函数和技巧,它们在网页开发中非常实用,可以帮助开发者提高效率并实现各种交互效果。
2017-02-08 上传
2008-10-31 上传
2013-06-05 上传
2021-01-19 上传
2009-09-24 上传
2013-04-25 上传
2020-07-11 上传
2020-12-09 上传
2020-12-01 上传
weixin_38630571
- 粉丝: 8
- 资源: 943
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析