- 博客(207)
- 资源 (48)
- 收藏
- 关注
原创 你和大佬之间只差这个JS工具函数大全
为元素添加on方法Element.prototype.on = Element.prototype.addEventListener;NodeList.prototype.on = function (event, fn) {、 []['forEach'].call(this, function (el) { el.on(event, fn); }); return this;};为元素添加trigger方法Element.prototyp..
2020-06-30 11:16:26 215
原创 为什么要读源代码,如何阅读源代码
看源码的意义看源码只是一种方法、手段,而不是目的。我也曾经给自己制定过“阅读xxx源码”的目标,现在看起来真的很蠢,一点不smart(specific、measurable、attainable、relevant、time-bound)。只有搞清楚了阅读代码的目标,才能有的放矢,抓住重点,高效达成任务。看源码的意义总结起来包含但不限于以下几点:第一:解决问题(BUG)只要是代码,就会有bug,只是说bug的多与少、深与浅罢了。现在大家都喜欢发布、使用开源项目,不同的开源项目社区成熟...
2020-05-16 21:38:22 706
原创 vue自定义指令实现自动点击事件
vue实现自动点击事件,刚进入页面即发生点击事件。这里用的是vue的自定义指令directive,具体使用可移步到vue文档。1.若是没有v-for循环,则直接放入directive自定义指令。<template><div class="clickdown" @click="myClick()" v-clickDown>自动点击</div>...
2020-04-27 11:11:05 3582 1
原创 koa中的常用方法操作
1、koa核心:use方法和ctx的方法2、app.on 监控错误3、app.listen 端口设置4、app.use请求到来时执行的函数ctx.req.url=ctx.request.req.url=ctx.request.url=ctx.url 通过req做了中转 中转:通过自己的request上的属性,可以重新扩展属性。 context上下...
2020-04-05 01:19:09 702
原创 after函数的实现及其应用场景
// after 在...之后// 我希望我调用某个函数 3次之后 再去执行function after(times,say){ return function(){ if(--times==0){ say(); } }}let newSay=after(3,function(){ //保存一个变量,在af...
2020-04-03 11:06:22 1716
原创 微信小程序修改navigationBarTitleText
微信小程序是可以动态修改页面标题的。在对应页面的json文件里面加入下面代码就可以实现了{ "navigationBarTitleText": "商品信息"}在js文件写下面代码就可以实现了hah: function () { wx.setNavigationBarTitle({ title: '详情页' }) }...
2019-06-27 10:31:17 11587
转载 小程序开发最重要、最经典面试题
小程序面试题1.bindtap和catchtap的区别是什么?bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡2.Js数组转成换字符串,强制转换成整数及转换成浮点数的函数分别是什么?js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能...
2019-03-27 14:10:13 23523
原创 router-link点击后F12出现[Vue warn]: $attrs is readonly.
噢自己找到问题的根源了因为vue-cli里面自动生成的main.js会import vue进来。而我自己又在入口文件index.html里面引入了一个外部的vue.js导致点router-link出现的问题我觉得这样的问题就只有我这么蠢的人才会犯了,但是还是提醒一下,不要重复引入vue呐...
2018-11-13 16:50:19 1918 2
原创 前端框架大比拼:Angularjs vs Reactjs vs Vue.js
无论前端后端还是全栈工程师,一定是经常听说 Angular 和 React 的。Vue相对来说貌似没有那么朗朗上口,但其实Vue早在2013年就有了第一次release。好的前端框架是经得起时间检验的,不过一般也熬不太长,两年是一个大坎。这三个framework都经过了多年考验。从Google trends上先看看这三者的趋势。看这个风向,这三个还是2017年的流行风向标。趋势Vue.js...
2018-08-22 15:12:38 1693
原创 飞冰(ICE) 阿里家的前端图形化一键工具
“让前端开发简单而友好”是阿里对飞冰的介绍。今天逛开源中国,看到飞冰的更新日志,第一次了解到飞冰。下载飞冰安装后,简单使用后,感觉这太美妙了!我们做开发这行的,给公司给客户开发了这么多图形化的系统,提升工作效率,增加效益。但是我们自己日常用的工具,大多数却还是整天命令行命令行的……虽然不是很懂物料这个词,有点翻译的感觉。。。不过还是挺方便的,直接用它选模版生成项目。。。虽然vue的有点...
2018-07-30 08:56:37 22903 1
原创 BFC 神奇背后的原理
BFC 已经是一个耳听熟闻的词语了,网上有许多关于 BFC 的文章,介绍了如何触发 BFC 以及 BFC 的一些用处(如清浮动,防止 margin 重叠等)。虽然我知道如何利用 BFC 解决这些问题,但当别人问我 BFC 是什么,我还是不能很有底气地解释清楚。于是这两天仔细阅读了CSS2.1 spec 和许多文章来全面地理解BFC。一、BFC是什么? 在解释 BFC 是什么之前,需要先...
2018-07-23 16:39:02 208
原创 思考阿里巴巴系的前端解决方案
题记:你有解决问题的能力,却没有解决问题的方法 前端是用户体验的基础,是用户最先体验的服务。由于最近在开发政务办公化系统,经历了很多前端的麻烦。学习和参考了很多前端解决方案,这篇文章先说说我对阿里巴巴系的前端解决方案的体会。 一、淘宝的前端解决方案:kissy 。淘宝的kissy(http://docs.kissyui.com/)是由阿里集团前端工程师们发起创建的一...
2018-07-23 16:37:06 514
原创 Number和parseInt真的有很大的区别
Number() 和 parseInt 都接受输入中的空格。在旧版本的 JavaScript 中,如果字符串以 0 开头,则基数设置为 8(八进制)。由于该方法在不同版本的 JavaScript 和浏览器中可以实现不同,因此建议传递基数。Number() 和 parseInt() 通常用于将字符串转换为数字。如果未指定,则将根据该值自动设置。parseInt(‘12 345’) // 12,不是12345。Number() 转换类型,而 parseInt 解析输入值。在其他情况下,基数为 10(十进制)。
2023-08-02 01:05:22 329
原创 js的new关键字做了4步操作:创建空对象、更改原型链、改变this指向、判断返回值类型
js的new关键字做了4步操作:创建空对象、更改原型链、改变this指向、判断返回值类型
2022-10-23 21:08:58 400
原创 react-router-dom的常见问题总结
basename:定义路由的基础路径,当点击’生命周期’进行跳转时路由地址会变为:/main/lifecircle。当我们有路由/和/home时,如果不精准匹配路由时,当访问/home时也会加载/这个路由。state:传递参数给即将跳转的页面,可以在组件的props.location中获取到。Router相当于一个容器,用来包裹Route,Link,Redirect等路由组件。函数组件和类组件都可以通过props.history对象下提供到的方法进行跳转。to后面可以是字符串,直接跟跳转的路由地址。
2022-10-04 23:02:50 538
原创 vue中的provide和inject
provide 和 inject 主要在开发高阶插件/组件库时使用。并不推荐用于普通应用程序代码中。这对选项是成对使用的。子孙组件想要获取祖先组件得资源,那么怎么办呢,总不能一直取父级往上吧,而且这样代码结构容易混乱。这个就是这对选项要干的事情。...
2022-06-26 09:42:04 698 1
原创 二叉树的坡度
给你一个二叉树的根节点 root ,计算并返回 整个树 的坡度 。一个树的 节点的坡度 定义即为,该节点左子树的节点之和和右子树节点之和的 差的绝对值 。如果没有左子树的话,左子树的节点之和为 0 ;没有右子树的话也是一样。空结点的坡度是 0 。整个树 的坡度就是其所有节点的坡度之和。var findTilt = function(root) { let ans=0; const dfs=(node)=>{ if(!node){ retur
2022-02-07 09:59:56 93
原创 leetcode1:【移动0】
var moveZeros=function(nums){ if(nums.length<2){ return nums; } let temp=0; for(let i=0;i<nums.length;i++){ if(nums[i]!=0){ if(nums[temp]==0){ nums[temp]=nums[i]; nums[i]=0;
2021-12-25 20:33:35 303
多技术栈及高低代码混合开发 - 华为云低代码平台架构探讨
2022-07-02
2022web全球大会:云剪辑实时渲染引擎设计
2022-07-02
python实现3x3的井字棋
2022-07-02
Hlwdsj.Grsdszxsb.exe
2020-04-11
达内java内部资料
2018-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人