Javascript
文章平均质量分 81
行者向阳
为了巅峰的技术,就要付出非凡的努力
展开
-
正则去除开始空格
用来收集业务中常用的正则表达式const trimStartSpace = (value) => { const result = value.replace(/^(\s+)(\S+\s*)/, '$2'); return result;};原创 2020-07-25 17:25:59 · 958 阅读 · 0 评论 -
React 组件根据数据动态渲染
React 用数据驱动界面的方式原创 2020-04-07 00:21:52 · 3918 阅读 · 3 评论 -
git commit 提交规范 & 规范校验
1、背景在多人协作项目中,如果代码风格统一、代码提交信息的说明准确,那么在后期协作以及Bug处理时会更加方便。因此,在本文章中,我会介绍怎么使用下面这个工具,在git push 代码之前检测commit messages:commitlinthuskycommitlint介绍2、先来介绍博主采用的commit规范Commit message格式<ty...原创 2018-06-06 14:03:17 · 73995 阅读 · 2 评论 -
自动生成changeLog
通过git commit 的信息生成changeLog这么做的前提是,我们的commit信息必须遵循公司的commit的规范。快速上手$ npm install -g conventional-changelog-cli$ cd my-project$ conventional-changelog -p angular -i CHANGELOG.md -s推荐的工...原创 2018-06-07 09:41:34 · 5348 阅读 · 0 评论 -
前端页面渲染markDown文件
在我们开发vue组件的过程中,希望把markdown文档写的插件使用说明,也展现到页面中。那么具体怎么做呢?1、安装vue-markdown-loadernpm install vue-markdown-loader --savenpm install markdown-it-container --save2、为webpack配置loader{ test...原创 2018-06-01 12:26:00 · 20734 阅读 · 5 评论 -
结合面试题讲解 async await
首先,await 只能出现在 async 函数中。1、async 的作用async 函数负责返回一个 Promise 对象如果在async函数中 return 一个直接量,async 会把这个直接量通过Promise.resolve() 封装成 Promise 对象;如果 async 函数没有返回值,它会返回 Promise.resolve(undefined)2、awa...原创 2018-06-25 21:38:52 · 4876 阅读 · 0 评论 -
将markdown格式的changeLog转换为HTML文件
将markdown格式的changeLog转换为HTML文件主要是用marked.js来实现markdown文本的解析1.安装marked.jsnpm install marked --save 2.需要转换成HTML的markdown文件<a name="1.1.4"></a>## 1.1.4 (2018-05-15)### Bug...原创 2018-07-09 17:47:56 · 720 阅读 · 0 评论 -
【算法】【S】回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121 输出: true 示例 2:输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3:输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文...原创 2018-08-22 22:31:35 · 460 阅读 · 0 评论 -
【算法】两数之和
let nums = [2, 7, 11, 15];let tarhet = 9;var twoSum = function(nums, target) { for(let i = 0; i &lt; nums.length ; i++){ let temp = target - nums[i]; for(let j = i + 1 ; j &lt; nums.length...原创 2018-08-20 21:05:19 · 248 阅读 · 0 评论 -
【算法】【s】反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123 输出: 321 示例 2:输入: -123 输出: -321 示例 3:输入: 120 输出: 21方法一: 将字符串转换为数组,再转为字符串/** * @param {number} x * @return {number} */var reverse = funct...原创 2018-08-21 21:18:04 · 355 阅读 · 0 评论 -
【GIT】配置多个git账号
# 配置github.comHost github.com HostName github.com IdentityFile /Users/xiaoxiaocui/.ssh/id_rsa_gitHub PreferredAuthentications publickey User 491887095@qq.com# 配置git.ascs.techHost g...原创 2018-09-10 10:29:53 · 401 阅读 · 0 评论 -
JavsScript 节流函数 分金定穴
节流函数技术上最关键的地方有两点: 1、闭包保存了状态 2、apply的使用Debouncedebounce 英[dɪ'baʊns]美[dɪ'baʊns][词典] [计] 防反跳;的概念其实是从机械开关和继电器的“去弹跳”(debounce)衍生出来的概念。基本思路就是多个信号合并为一个信号。在JavaScript中,debounce函数所做的事情,就是强...原创 2018-09-15 08:11:25 · 376 阅读 · 0 评论 -
web页面视频播放器选型
视频点播服务商选型 前言: 在构建公司官网时,需要展示公司的宣传视频,为了保证流畅的播放效果,以及视频封面,我没有考虑将视屏部署在网站服务器上,而是考虑采用云点播服务。之所以这么做,就是考虑云点播会有加速,播放更流畅,用户体验更好。这篇文章写于2016年11月,虽然有点老了,但是当时找遍了全网视频云点播所有厂商,还是有一定的参考经验。现在把尘封的文章分享出来,希望它再发挥点余热...原创 2018-07-08 14:02:28 · 17719 阅读 · 0 评论 -
前端自动生成Change Log的实现
对文章的作者,我的同事黛妮表示感谢。我们一起完成了这篇文章。这里附上原文的地址:https://www.yuque.com/rocket/rocket_doc/pyo2i1开发目的快速可交互的搭建生成Change Log更新日志,来提高自己的工作效率。实现思路要实现Change log自动生成,需要有脚本可以根据项目提交的commit自动生成Change log ,然后还有脚本自动生成版...转载 2018-09-28 01:28:12 · 3231 阅读 · 0 评论 -
【前端面试必会】---- 类型转换 &隐式提升
类型转换 &amp;amp; 隐式提升最新的ECMScript定义了7种数据类型原始类型Booolean Null Undefined Number String Symbol对象Object参考文档JS类型转换(强制和自动的规则)类型装换1、显示类型装换1.1、Number函数数值: 数值转换后还是原来的值字符串:如果可以转换为数值,则转换为响应的数值,否则得到NaN。空字符串...原创 2018-12-27 15:59:19 · 324 阅读 · 0 评论 -
WebPack4接入TypeScript开发
TypeScript现在已经成为前端开发新宠,很有必要学习下。这篇博客详细记录了我如何搭建TypeScript开发环境,希望对你有用!原创 2019-07-30 14:07:35 · 1417 阅读 · 0 评论 -
构建前端npm包
参考文章构建前端npm库开发框架其实看完整篇文章之后,我们会发现整个脚手架,最关键的莫过于webpack的配置文件,我们为每个模块配置loader,入口、出口。然后通过package.json的script,来配置执行不同webpack配置项的脚本,将结果输出到指定的目录。说白了,自己构建一个脚手架的、或者npm开发包的流程,就是配置webpack的流程。这就解决了共用一个no...原创 2018-05-29 14:12:31 · 2367 阅读 · 0 评论 -
Function.prototype.apply.call
今天在读cw_logger源码的时候,看到这么一个方法:Function.prototype.apply.call顿时,觉得难道还能这么调用。为什么?1. 先来看看上下文if (context === MyLogger.WARN &amp;&amp; console.warn) { hdlr = console.warn; } else if (con...原创 2018-06-04 18:10:04 · 1115 阅读 · 1 评论 -
JavaScript原型要点笔记
JavaScript原型要点:__proto__与prototype的联系,in与hasOwnProperty的区别,constructor的定义。原创 2016-10-19 00:27:33 · 316 阅读 · 0 评论 -
借助cryptoJS , jsonp跨域,请求心知天气API ,获取天气信息
详细介绍了探索使用心知天气的API的过程。详细介绍了jsonp的原理,以及使用方式。详细介绍了web页面使用cryptoJS的过程。原创 2016-11-26 16:41:42 · 4036 阅读 · 1 评论 -
seaJS无法引入JQuery
SeaJS引入JQuery的正确姿势。原创 2016-11-19 15:30:20 · 1376 阅读 · 0 评论 -
不全局安装vue-cli使用vue脚手架
不全局安装vue-cli使用vue脚手架原创 2017-06-11 19:11:20 · 9019 阅读 · 1 评论 -
JavaScript实现深拷贝与浅拷贝
深拷贝的两种实现原创 2017-07-18 18:04:07 · 396 阅读 · 2 评论 -
JavaScript温故知新----Array.sort()
JavaScript . sort方法深入理解原创 2017-10-09 07:52:14 · 330 阅读 · 0 评论 -
JavaScript温故知新----splice、slice的区别
数组的操作方法中,我们们常用的有concat、splice、slice。 splice、slice这两个方法,名字类似,但是方法差距比较大。slice的英文意思是剪贴,功能是从数组中截取某一部分,作为一个新的数组返回。splice的英文意思是拼接,接合,功能是向数组中插入某些内容,如果说插入内容没有指定,那就是删除部分内容。slice1.slice()方法返回从该参数指定位置...原创 2017-10-12 20:22:05 · 500 阅读 · 0 评论 -
vue+cordova创建Hybird混合应用(一)----从安装到输出第一个应用
为什么写这篇文章呢?因为这是一种构建简单跨平台移动应用的便捷方式。个人认为这比React Native简单的多,很容易上手。解决小型应用绰绰有余。1、安装java2、安装node.js4、安装android studio安装android studio用360软件管家会非常快。记得安装各种sdk。如果打开android studio的时候很慢,很可能是gradle加载不出来,可...原创 2017-10-28 18:23:50 · 1595 阅读 · 0 评论 -
pdf.js实现加载整个pdf
pdf.js实现加载整个pdf,或pdf.js实现加载多个pdf.js原创 2017-10-13 10:00:06 · 23069 阅读 · 17 评论 -
git bash 集成到 webStorm 中(IDEAPhpStormWebStorm适用)
将git bash 集成的webstorm中,用命令行操作git会更加方便。一直在找相关的方法,今天找到了,分享一下。平时开发离不开 git,windows 下一般会安装 git bash。目前最顺手的 IDE 应该是 JetBrains 家的东西了吧,如果能够把 git bash 整合到 PhpStorm 或者 WebStorm 中,就不需要再开一个 git bash 窗口了,会方便很多。废话不...原创 2018-03-08 14:06:09 · 3642 阅读 · 2 评论 -
自己实现一个事件中心
/** * Created by BiuBiu_Jiao on 2017/5/6. */class Event { constructor(){ this.eventObj = {}; } on(name,...argu){ if(name in this.eventObj){ throw new Error("...原创 2018-03-28 11:09:20 · 1385 阅读 · 0 评论 -
vue+cordova创建Hybird混合应用(二)----签名(生成秘钥)
上一节中我们提到了怎么打包出一个混合应用。那么当我们打包后,就需要发布了,发布需要使用不同的key,那么做这些key怎么生成呢?1.使用JDK中提供的keytool命令来生成一个签名证书当然当你使用这条命令的时候,请把keytool加入到环境变量中。 还有看到这些xxx了吗?他们其实是你的包名,在我们创建应用时,会提示你命名。如果没有及时命名,叫做Hello World也无所谓,可以...原创 2018-04-22 10:34:31 · 780 阅读 · 0 评论 -
构建前端团队的私有npm仓库
有一点规模的团队,都需要逐渐构建自己的npm包。现在有一个比较好的解决方案Sinopia,可以快速搭建和部署私有的npm服务器。本文详细记录了我在搭建私有npm包时,遇到的问题,以及个人的思考。1. 安装Sinopia连接中的文档已经写的很详细了,我就不重复造轮子了。安装Sinopia2. 下面是构建过程中遇到的问题:2.1. 外网无法访问私有sinopia服务...原创 2018-05-08 22:44:04 · 12314 阅读 · 4 评论 -
vue实现autoComplete组件
需要掌握的技术点 1、采用mock服务器 2、实现下拉自动匹配,和其他列表的自动匹配 3、在输入法输入的时候,页面的输入框不监听输入法中的内容研究方法: 1、查看开源代码如何实现 2、记录研究过程中的知识点知识补充: 1、compositionstart 事件触发于一段文字的输入之前(类似于 keydown 事件,但是该事件仅在若干可见字符的输入之前,而这些可见字符的输入可能需...原创 2018-04-29 22:31:36 · 9523 阅读 · 0 评论 -
crypto-js获取加密后的值
crypto-js是一个著名的前端加密库,但是调用它的md5模块时,加密的结果是一个数组,而不是我们常见的MD5值。let password = md5(this.loginInfo.pwd);console.log(1,password)//控制台输出结果1 init {words: Array(4), sigBytes: 16}sigBytes:16words:(4) [5...原创 2018-06-11 16:08:27 · 6559 阅读 · 1 评论 -
ThinkPHP3.2中引用Ueditor
ThinkPHP3.2中引用Ueditor,过程比较简单,这里给出一个示例,方便大家参考。更多更详细的内容请参考Ueditor的官网。在百度中搜索下载Ueditor。1、将Ueditor的资源文件放在ThinkPHP应用的/Admin/Home/Public/目录下面2、修改该目录下ueditor.config.js中如下语句:原本是这个样子修改原创 2016-06-14 23:18:33 · 1392 阅读 · 0 评论