服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服务器之家 - 编程语言 - JavaScript - js教程 - 六个有用的 JavaScript 代码片段

六个有用的 JavaScript 代码片段

2023-05-24 17:46web前端开发 js教程

关于代码素材,我想每个开发者都有属于自己的代码素材库,我今天这篇文章分享的是我的代码素材库内容,虽然不一定适合所有人,但是我还是想将它分享出来,只希望对一些人有用即可。

关于代码素材,我想每个开发者都有属于自己的代码素材库,我今天这篇文章分享的是我的代码素材库内容,虽然不一定适合所有人,但是我还是想将它分享出来,只希望对一些人有用即可。

六个有用的 JavaScript 代码片段

1.文件内容上传

  1. var selectContent=document.getElementById("selectContent"); 
  2. var contentForSelection=document.getElementById("contentForSelection");selectContent.onchange=function(e) { 
  3.   if (!window.FileReader) { 
  4.    alert("Your browser does not support HTML5 'FileReader' function required to open a file."); 
  5.   } else { 
  6.    let fileis = this.files[0]; 
  7.    let fileredr = new FileReader(); 
  8.    fileredr.onload = function (fle) { 
  9.     let filecont = fle.target.result; 
  10.     contentForSelection.value=filecont; 
  11.    }; 
  12.    //fileredr.readAsArrayBuffer(fileis); 
  13.    fileredr.readAsText(fileis); 
  14.   } 
  15. }; 

六个有用的 JavaScript 代码片段

在上面的示例中,由于我选择导入的文件是文本格式,因此使用方法 readAsText 而不是 readAsArrayBuffer。

改为使用 readAsArrayBuffer 的实例包括读取图像流或读取 ZIP 存档文件。

成功导入后,文件内容将自动呈现到元素 ID 为“contentForSelection”的文本区域中。

2.保存文件内容

  1. var saveBtn=document.getElementById("saveBtn"); 
  2. var cnotallow=document.getElementById("contentForSelection"); 
  3. saveBtn.notallow=function() { 
  4.  let txtCnotallow=contentForSelection.value; 
  5.  if (!window.Blob) { 
  6.   alert("Your browser does not support HTML5 'Blob' function required to save a file."); 
  7.  } else { 
  8.   let textblob = new Blob([txtContent], { 
  9.    type: "text/plain" 
  10.   }); 
  11.   let dwnlnk = document.createElement("a"); 
  12.   dwnlnk.download = "output.txt"
  13.   dwnlnk.innerHTML = "Download File"
  14.   if (window.webkitURL != null) { 
  15.     dwnlnk.href = window.webkitURL.createObjectURL(textblob); 
  16.   } 
  17.   dwnlnk.click(); 
  18.   } 
  19. }; 

六个有用的 JavaScript 代码片段

上面的代码片段通常在在线笔记应用程序中实现,以便用户导出他们的输出。 或者,在诸如数据/代码格式化程序之类的 Web 实用程序中,通常也会提供 [Save] 功能,以允许用户将后续格式化的文本内容保存到本地存储文件中。

3.复制到剪贴板

复制到剪贴板是基于浏览器的设置中的另一个经典功能。

通常情况下,如果转换后的输出仅用于一次性任务,则不需要将输出保存到文件中,使用以下 JS 代码片段会更合适:

  1. var copyBtn=document.getElementById("copyBtn"); 
  2. var cnotallow=document.getElementById("contentForSelection"); 
  3. copyBtn.notallow=function(evt) { 
  4.  copyBtn.nextElementSibling.innerHTML=""
  5.  copyTransformedOutput("contentForSelection"); 
  6.  let smallEle=evt.currentTarget.nextElementSibling; 
  7.  smallEle.innerHTML="<span style='color:green'> Copied to Clipboard!</span>"
  8. }; 
  9. function copyTransformedOutput(inputEleId) { 
  10.  let copyText = document.getElementById(inputEleId); 
  11.  copyText.select(); 
  12.  copyText.setSelectionRange(0, 99999); /* For mobile devices */ 
  13.  navigator.clipboard.writeText(copyText.value); 

请注意,我选择在成功复制代码片段后显示一条消息“已复制到剪贴板”。

 

六个有用的 JavaScript 代码片段

 

因此,转换后的输出随后可以粘贴到别处,而无需存储到本地文件中以供使用。

4.全部查找和替换

虽然在最新的 JavaScript 控制台中此功能目前是内置的,但由于其实现的独创性和简单性,了解以下 JavaScript 函数仍然是相关且有用的:

  1. function replaceAll(inputStr,toReplace,replaceWith) { 
  2.   return inputStr.split(to 
  3.                         Replace).join(replaceWith); 

例如,如果我想在文本区域中用“ID”替换“id”:

代码片段的其余部分是这样的:

  1. var replaceBtn=document.getElementById("replaceBtn"); 
  2. replaceBtn.notallow=function() { 
  3.  let toFind=document.getElementById("ToFind").value; 
  4.  let replaceWith=document.getElementById("ReplaceWith").value; 
  5. contentForSelection.value=replaceAll(contentForSelection.value,toFind,replaceWith); 
  6. }; 

5. 生成随机十六进制颜色

我发现这个 JavaScript 方法被低估的情况是当我不得不在同一个 Web 应用程序上渲染多条行车路线时:

 

六个有用的 JavaScript 代码片段

 

显然微分无穷大。 不同颜色的重叠驾驶路线更容易让任何观众比较和对比显示在地图可视化上的各种路线。 因此,动态生成不同的颜色是必要的,并且可以通过以下方式实现:

  1. function generateRandomHexColor() { 
  2.     let colorGenerated="#" + (Math.random() * 0xfffff * 1000000).toString(16).slice(0, 6); 
  3.     if(colorGenerated !== "#0000ff" && colorGenerated !== "#ff0000") { 
  4.       return colorGenerated; 
  5.     } 
  6.     colorGenerated="#" + (Math.random() * 0xfffff * 1000000).toString(16).slice(0, 6); 

6. 突出显示 JSON 语法

对于地图服务提供商返回的每条路线,我都合并了路线 JSON 数据输出的导出功能。

因此,为了区分JSON对象中的String、Float、Integer、Boolean等对象类型,我选择了颜色编码,如下所示:

 

六个有用的 JavaScript 代码片段

 

以上效果可以通过 CSS 和 JavaScript 实现。

JavaScript 代码:

  1. function syntaxHighlight(json) { 
  2.     json = json.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"); 
  3.     return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) { 
  4.         var cls = "number"
  5.         if (/^"/.test(match)) { 
  6.             if (/:$/.test(match)) { 
  7.                 cls = "key"
  8.             } else { 
  9.                 cls = "string"
  10.             } 
  11.         } else if (/true|false/.test(match)) { 
  12.             cls = "boolean"
  13.         } else if (/null/.test(match)) { 
  14.             cls = "null"
  15.         } 
  16.         return "<span class='" + cls + "'>" + match + "</span>"
  17.     }); 

CSS 代码:

  1. .string {  
  2.   color: green;  
  3. .number {  
  4.   color: darkorange;  
  5. .boolean {  
  6.   color: blue;  
  7. .null {  
  8.   color: magenta;  
  9. .key {  
  10.   color: red;  

今天这篇文章中的6 个 有用的JavaScript 代码片段就到此结束了,希望对你有用。

原文地址:https://mp.weixin.qq.com/s?__biz=MjM5MDA2MTI1MA==&mid=2649138182&idx=2&sn=1a6110df444e52cf6bcbcab381a87a20&chksm=be5883ab892f0abd79aedb5d8937c361a19417b2e3406e850aac7bc497aec5996a4b20d0e1fb

延伸 · 阅读

精彩推荐
  • js教程JavaScript实现拖动滑块拼图验证功能(html5、canvas)

    JavaScript实现拖动滑块拼图验证功能(html5、canvas)

    这篇文章主要介绍了JavaScript实现拖动滑块拼图验证(html5、canvas),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值...

    人生行者11492022-02-19
  • js教程微信小程序实现导航功能的操作步骤

    微信小程序实现导航功能的操作步骤

    这篇文章主要给大家介绍了关于微信小程序实现导航功能的操作步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值...

    远航_8542022-02-15
  • js教程用javascript制作qq注册动态页面

    用javascript制作qq注册动态页面

    这篇文章主要介绍了用javascript制作qq注册动态页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    花狗Fdog9782022-02-28
  • js教程用js实现拼图小游戏

    用js实现拼图小游戏

    这篇文章主要为大家详细介绍了用js实现拼图小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    我爱H57142022-02-17
  • js教程Javascript生成器(Generator)的介绍与使用

    Javascript生成器(Generator)的介绍与使用

    这篇文章主要给大家介绍了关于Javascript生成器(Generator)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值...

    疯狂的技术宅3582022-01-12
  • js教程一种新的日期处理方式之JavaScript Temporal API

    一种新的日期处理方式之JavaScript Temporal API

    JavaScript Temporal API是一种为Web开发人员提供了一种新的处理日期和时间数据类型的方式。它的目的是使操作日期和时间更加简单和可靠,而且不用担心历史...

    饺子不放糖8622023-05-07
  • js教程JS实现选项卡插件的两种写法(jQuery和class)

    JS实现选项卡插件的两种写法(jQuery和class)

    这篇文章主要为大家详细介绍了JS实现选项卡插件的两种写法:jQuery和class,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参...

    南柯Seven12282021-12-22
  • js教程CocosCreator通用框架设计之网络

    CocosCreator通用框架设计之网络

    这篇文章主要介绍了CocosCreator通用框架设计之网络,详细讲解了WebSocket的原理和使用方法,对WebSocket感兴趣的同学,一定要看一下...

    weixin_397524349102022-03-01