昨天在调代码的时候,遇到了一个很大的坑儿,让我不得不记录下来,莫非是我写js代码太久了的缘故?大概也许可能吧...
这是GitHub上星标数超过15.5k的JavaScript库之一。它是一个功能强大、轻量级的模糊搜索库,不依赖于任何其他库。如果你还不熟悉模糊搜索(更正式地称为近似字符串匹配),它是一种通过查找与给定模式近似相等的字符串来进行匹配的技术(而不是完全相等)。
获取页面键值对参数 例:html?id=123 获取url键值对参数 function getQueryString(name) { var reg = new RegExp("(^|&)"
Java中substring方法可以分解字符串,返回的是原字符串的一个子字符串。如果要讲一个字符串分解为一个一个的单词或者标记,StringTokenizer可以帮你。
Vue.js 是一款流行的前端框架,它提供了许多强大的特性来简化前端开发工作。其中之一是计算属性(Computed Properties)。计算属性允许开发人员根据数据的变化生成派生数据,同时在视图中保持响应式。本文将深入探讨Vue.js的计算属性,解释其原理、用法和最佳实践。
前端的同学需要提升编程核心内功,建立和健全算法知识体系,基础算法、数据结构、进阶算法,由浅入深讲解,透彻理解抽象算法,算法面试是关键一环,冲击大厂前端offer。
本文实例讲述了php和js实现根据子网掩码和ip计算子网功能。分享给大家供大家参考,具体如下:
有序列表 List 1 List 2 List 3 只读列
曾经,我接手了一份大佬的代码,里面充满了各种“骚操作”,还不加注释那种,短短几行的函数花了很久才弄懂。
模板内的表达式非常便利,但放入太多的逻辑会让模板过重且难以维护,所以,对于复杂的逻辑,可以使用计算属性 computed。
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。 语法
01 前 言 在项目开发中,经常需要import或者export各种模块 经常会这样引入组件: import A from 'components/A' import B from 'componen
随着9月25日iPhone6s的发货,早已预订的人是不是心里开始有点小激动了。那么它的到来对于前端来说有哪些新东西? Force Touch 针对此次的3D Touch 页面中多了三个事件,当然了,以下事件请自带webkit前缀 1. mouseforcewillbegin 2. mouseforcedown 3. mousefoeceup Javascript代码 看字面意思就能理解了,用法和其他事件一样,只是奇怪为何不起名为forcetouchdown,forcetouchup back
说明: 字符串替换字符还是replace()最强大~默认替换第一个符合条件的字符串,也可用正则做全局匹配
HTML5学堂(码匠):文本操作一直是开发中不可避免的存在,用户选中的文本内容,是否可以进行获取并处理到需要的位置当中?如果可以,这样的操作到底需要使用到哪些方法呢? 本文主要内容 1. 目标效果展示
发现匹配的有'These are some phone numbers ...' 注意正则表达式是匹配一个连续串的规则,所以可以看到三个字母的单词可以匹配到,6个单词的也可以匹配到。
我们己经可以搭建出一个简单的 Vue 应用,在模板中双向绑定一些数据或表达式了。但是表达式如果过长,或逻辑更为复杂时,就会变得臃肿甚至难以阅读和维护 举例
运用: 将json数据里面的字符串类型的数据"00,01,02,03,04"转化成数组,再将数组遍历出来,分别赋值到每一个div里面。
本文实例讲述了Android开发之图片切割工具类定义与用法。分享给大家供大家参考,具体如下:
这个表达式又是什么?其实这里说的是 js的表达式。翻译成土话就是,js代码,也就是说,vue里面,我们一样可以写js代码。怎么样,我说应该先学js吧?不学的话很多基础的计算都没法搞了。
Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项:
感谢支持ayqy个人订阅号,每周义务推送1篇(only unique one)原创精品博文,话题包括但不限于前端、Node、Android、数学(WebGL)、语文(课外书读后感)、英语(文档翻译) 如果觉得弱水三千,一瓢太少,可以去 http://blog.ayqy.net 看个痛快
Zepto.js是一个轻量级的针对现代浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。 1. Why Zepto.js? API类似jQuery,熟悉jQuery可以无缝迁移到Zepto.js Zepto仅针对高版本现代浏览器设计了最小核心的通用库,代码体积小,尤其适合移动端开发。 Zepto增加了针对移动端的触摸和手势相关的事件 Zepto模块化做的很灵活,可以自定义组合模块 2. Zepto.js下载 代码下载:zeptojs中文站
作者:big(谢刚),腾讯TGideas团队前端工程师,前端虐我千万遍,我待前端如初恋! 随着9月25日iPhone6s的发货,早已预订入手的小伙伴已开始了新一轮的研究。那么它的到来对于前端来说有哪些新东西? Force Touch 针对此次的3D Touch 页面中多了三个事件,当然了,以下事件请自带webkit前缀 1. mouseforcewillbegin 2. mouseforcedown 3. mousefoeceup Javascript代码 看字面意思就能理解了,用法和其他事件一样,只是
EasyUI是一套开源的界面开发框架,它提供包括窗口、数据网格、按钮、表单控件等一系列UI控件,非常适合后台交互系统使用。EasyUI基于HTML5标准开发,以插件的形式提供组件,除了框架自带的标准组件外,还附带有扩展组件和主题。EasyUI目前有4个分类, EasyUI for jQuery, EasyUI for Angular, EasyUI for Vue,EasyUI for React,分别使用jQuery、Angular、Vue和Rect作为脚本来使用EasyUI,因EasyUI历史上一直采用jQuery作为脚本语言,jQuery版本使用较广,所以本文采用EasyUI for jQuery,如不做说明,EasyUI即指EasyUI for jQuery。 EasyUI既有免费版本,也有商业版本。商业版本需要购买,但允许用户修改版权标识以及其他操作,并提供相应的服务。EasyUI于2010年面世,至今已有8年,现在最新的版本号为1.6.1,框架的内容也在不断丰富。EasyUI省去了开发者关于界面的设计开发,而专注于业务逻辑的处理,无论是从审美角度还是从交互性等方面,EasyUI都是一款不可多得的前端框架。 EasyUI的下载地址: Download EasyUI Package - jQuery,Angular,React,Vue
来源:juejin.im/post/5e044eb5f265da33b50748c8
Vue 是很好用,但是以往的都是单页面应用,这就导致了一些传统的项目移植困难,一些用了 JQ 的插件的等等写法都要改变。也还用专门找到相对于的 Vue 的插件才行,这次的 Cli 3.0 可以在原来项目的基础上直接移植,非常方便。
Hexo有提供外挂标签的API介绍文档。首先我们要了解什么是外挂标签。它的实质其实就是简化Html的写法,把大片重复的内容交给Hexo编译,我们只需要在外挂标签内提供必要的参数即可。这也是我一度钟爱外挂标签的原因。毕竟很方便,可以拿来偷懒嘛。本帖提供的是一些较为简单的外挂标签写法。更加精深的内容可以参考官方开发文档和现有的外挂标签脚本。本站现有的外挂标签写法基本都已经集成在这篇教程中:
对于前端来说,网络请求主要就是用 ajax 的方式去处理。所以本文也会站在前端角度简单讲解 Node 中如何使用 http 模块。\n\n 前后端对接时,现在常用的请求方法有 GET、POST、PUT、PATCH、DELETE。当然,还有其他方法,但本文主要面向新手,希望能做到快速起步。所以本文只讲 GET 和 POST 这两种最最最常用的方法。\n\n 在敲代码前,你首先需要准备一个 编辑器(我用vs code)、浏览器、postman 还有安装好 Node.js 。\n\n 创建服务\n\nNode.js 提供了 http 模块,可用于网络请求。\n\n 创建一个 js 文件,输入以下代码。(本例的文件命名为 index.js)\n\njs\nconst http = require('http')\n\nconst server = http.createServer((res, req) => {\n req.end('hello world')\n})\n\nserver.listen(8000, () => {\n console.log('http://localhost:8000')\n})\n解释:- Node.js 使用 commonjs 语法,所以引入 http 模块使用了 require 的方法。\n- http 模块有一个 createServer 方法,该方法的参数是一个函数,函数里又有2个参数,res 是前端发送请求带过来的信息;req 是后端返回信息给前端时的一些方法和属性的集合。\n- 通过 req.end 方法,可以返回一段字符串给前端。\n- 通过 listen 方法可以设置需要监听的端口号,第二个参数是一个函数,我在控制台里输出 http://localhost:8000 是方便启动服务后方便自己打开这个地址。\n\n 使用 Node.js 运行上面的代码:\n\n\nnode index.js\n\n\n运行完上面的命令,控制台应该会输出 http://localhost:8000 ,此时打开浏览器,输入 http://localhost:8000 后页面上会出现 “hello world”,证明服务创建成功,并且可以访问了。\n\n\n
在日常开发中,我们难免要和字符串打交道,各种各样的功能都可能用到上面的字符串函数,本文参考网上文章,W3C资料,以及自己平常开发中的高频需求整理形成,希望能够帮到有需要的人。
注意:String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。
msg.reserseMsg依赖于 msg.message,在 msg.message 发生改变时,msg.reserseMsg也会更新。
import util from '@/utils/util.js' 路径自行修改
Puppeteer 是一个 Node library,提供了一套完整的通过 DevTools 协议操纵 Chrome 或 Chromium 的 API。Puppeteer 默认以 无头(headless) 的方式运行, 也可以使用 GUI 的方式运行 Chrome 和 Chromium。
点聚合在地图相关应用中比较常用,比如在地图上查询结果通常以标记点的形式展现,但是如果标记点较多,不仅会大大增加客户端的渲染时间,让客户端变得很卡,而且会让人产生密集恐惧症,密密麻麻的一大堆点挤在一起。为了解决这一问题,我们需要一种手段能在用户有限的可视区域范围内,利用最小的区域展示出最全面的信息,而又不产生重叠覆盖,这个东西专业名词就叫点聚合,百度地图内置了方法可以设置点聚合BMapLib.MarkerClusterer,注意这个方法在BMapLib中而不是在BMAP中,所以要使用点聚合的话需要引入这个MarkerClusterer_min.js类文件,不然是没用的,这个很容易忽视,因为绝大部分类和方法都是在BMap中都有。
在写爬虫经常会遇到很多JS代码,比如说某些参数加密,可以只用用Python来翻译,但是有时候代码不容易阅读(JS渣渣),所以这里直接去找一条捷径,直接用Python的第三方库去调用JS代码。
一个较好的工程模版,不应该被较多的配置束缚住,应该有一个较好的统一约定,采用约定大于配置的
前几天我发布了一个web端自定义截图的插件,在使用过程中有开发者反馈这个插件无法在vue2项目中使用,于是,我就开始找问题,发现我的插件是基于Vue3的开发的,由于Vue3的插件和Vue2的插件完全不兼容,因此插件也就只能在Vue3项目中使用。
在前后端分离的时代,项目开发测试中我们常常因为前后端完成模块功能时间不一致而导致开发效率的降低,尤其是需要接口对接之时。鉴于此, MockJs应时而生,对此痛点予以重击。 本篇案例则属于一个简单的示范案例,在脱离后端(在没与后端联调前)怎么自己模拟数据来调试前端内容。
es6的Promise让异步接口的处理变得轻松,在旧版本的小程序中并不原生支持Promise,需要引入第三方库,例如:https://github.com/stefanpenner/es6-promise,然而在新版的小程序中已经原生支持了Promise,直接使用即可。
aHR0cHM6Ly9kaWFuLnlzYmFuZy5jbi8jL2luZGV4Q29udGVudD9zZWFyY2hLZXk9JUU2JTg0JTlGJUU1JTg2JTkyJUU3JTgxJUI1Jl90PTE2MzI2MTgxODk4MzY=
而gulp呢,是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用。
最近在做公司的网站,但是有一个是比较麻烦的事情就是需要做的一个国际化,我们都知道后端其实做国际化的话是直接可以配置的,相对来说是比较简单的,但是前端做国际化的话是很麻烦的一件事情,但是不是说不可以做,我之前呢是准备直接做两套网站,这样一样可以实现国际化的效果,其实这也是过去网站国际化的一个做法,包括现在也有人这样做,这个办法我们就不具体的写了,因为很简单,直接一模一样的写两份,一份是中文的一份是英文的就行了!其实我没写之前看了很多的资料,关于国际化的,很多的大神提供了很多的办法,但是都不是很详细,写的很模糊,所以我查看很多资料以后决定写这篇博客,总结一下自己的想法,同时希望可以帮助很多的人解决这个问题!
单页应用产出的入口chunk大小随着业务的复杂度线性增加,导致后期加载速度越来越慢。后面就需要对不同路径下的模块进行拆分,打包到相应的chunk下,按需加载,找到chunk的大小、个数和页面加载速度的平衡点。 解决办法 .vue模块文件按需加载,其实要做到两件事情:一是标记出这是一个异步组件;二是通知webpack把该组件单独产出为一个chunk。 vue的异步组件 官网给出的异步组件写法:异步组件是一个函数,函数的返回值是一个Promise,只是Promise的resolve函数的参数是常规组件的定
HTML5学堂:在项目开发过程中,难免会需要调试一些数据,而大量的console.log()需要频繁切换JS和页面,同时最后有可能还忘记删除打印信息。使用断点调试可以更方便的掌握js执行信息。,今天来
js //定义自己的规则 var myXssOptions = function (isEditer) { return { onTagAttr: function (tag, name, value, isWhiteAttr) { //保留style标签 默认会将style给干掉 if (name == 'style') { return "style='" + value + "'"; } //替换src为lay-src做懒加载 if (!isEditer && tag == 'img' && name == 'src') { return "lay-src='" + value + "'"; } } } };
领取专属 10元无门槛券
手把手带您无忧上云