前端之路
文章平均质量分 76
这里是前端的知识
Lawliet_ZMZ
ACMERandNODER
展开
-
rAF在EventLoop的表现
当时听到这个问题一时有点懵,因为按照之前的经验和理解,rAF一般做动画场景很少遇到宏任务微任务的问题,我感觉它跟宏任务微任务是没啥关系的,因为我看过MDN HTML5的规范关于‘Task’和‘Microtask’的划分,是没看到它的身影的。如果不滚动屏幕,不需要重新绘制帧,requestAnimationFrame会在下一个宏任务之前伴随着本轮微任务执行(顺序也会按照微任务队列的顺序),,即输出’setTimeout’,‘animation’此时把注释打开,再加一个宏任务,执行同时滚动浏览器,发现输出。原创 2024-02-23 01:42:09 · 451 阅读 · 0 评论 -
Replace bpmn-js and Let Frontend Developers Become More Familiar with Workflow Business
(背景:发在国外社区的文章,国内博客做份存档)原创 2023-08-07 18:10:10 · 220 阅读 · 0 评论 -
开源一个自动录制直播上传投稿的项目
其实idea一两年前就有了,最近才发力完善出来,现在主要和两个学弟在维护,也感谢@ForgQi大佬一直以来的帮助。项目链接:此文其实主要的目的是将此项目收录在互联网爬虫中。。便于其他人搜索关键词时能定位到该项目。github链接:链接,对您有帮助的话求个star欢迎PR成为Contributor!StreamerHelper???? Never miss your Streamer againIntroduction主播直播助手,部署后,后台批量监测各个平台主播是否在线,并实时录原创 2020-08-04 10:58:04 · 2112 阅读 · 0 评论 -
无限滚动&懒加载&元素位置 etc....
最近遇到了无限滚动的问题,用到了IntersectionObserver API,这里正好就将相关知识梳理整理一下。前置概念知识scrollHeight:容器元素被撑起后的实际大小高度scrollTop:容器元素的滚动距离,也是当前视口相对于容器实际高度定点的距离。offsetTop:元素的上外边框至包含元素的上内边框之间的像素距离。el.getBoundingClientRect().top:方法返回元素的大小及其相对于视口的位置。(top相对于视口的高度距离)clientHeight:元素原创 2020-05-12 17:08:05 · 626 阅读 · 0 评论 -
18.2.28阿里前端实习生内推面补坑
接到电话在外面,在路边面了15分钟,可以说发挥的烂透了。。。但是面试的小姐姐的声音巨好听……..这里记录下答的不好的点,现在补上。o(╥﹏╥)o o(╥﹏╥)o o(╥﹏╥)o一.js中遍历一个数组有多少种方法?1.普通for循环:for(j = 0; j < arr.length; j++) {} 2.for循环优化版for(j = 0,len=...原创 2018-03-01 19:26:20 · 531 阅读 · 0 评论 -
on()的多事件绑定
针对自己处理机制中,不仅有on方法,还有根据on演变出来的live方法(1.7后去掉了),delegate方法等等。这些方法的底层实现部分 还是on方法,这是利用了on的另一个事件机制委托的机制衍变而来的委托机制.on( events ,[ selector ] ,[ data ], handler(eventObject) )在on的第二参数中提供了一个selector选择器原创 2017-09-09 00:32:19 · 339 阅读 · 0 评论 -
卸载事件off()方法
卸载事件off()方法通过.on()绑定的事件处理程序通过off() 方法移除该绑定根据on绑定事件的一些特性,off方法也可以通过相应的传递组合的事件名,名字空间,选择器或处理函数来移除绑定在元素上指定的事件处理函数。当有多个过滤参数时,只有与这些参数完全匹配的事件处理函数才会被移除绑定2个事件$("elem").on("mousedown mouseup",原创 2017-09-09 00:53:28 · 1385 阅读 · 0 评论 -
jQuery事件对象的作用(利用冒泡事件优化)
事件中的Event对象容易被初学者忽略掉,可能大多时候初学者不知道怎么去用它,但有些时候它还是非常有用的一个标准的"click"点击事件$(elem).on("click",function(event){ event //事件对象})在不同浏览器之间事件对象的获取, 以及事件对象的属性都有差异。jQuery根据 W3C 标准规范了事件对象,所以在jQuery事件回调方原创 2017-09-09 01:40:57 · 377 阅读 · 0 评论 -
jQuery事件对象的属性和方法
jQuery事件对象的属性和方法事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别event.type:获取事件的类型触发元素的事件类型$("a").click(function(event) { alert(event.type); // "click"事件});event.pageX 和 event.pageY:获取鼠标当前相对原创 2017-09-09 10:12:20 · 366 阅读 · 0 评论 -
jQuery中动画animate(上)
jQuery中动画animate(上)有些复杂的动画通过之前学到的几个动画函数是不能够实现,这时候就需要强大的animate方法了操作一个元素执行3秒的淡入动画,对比一下2组动画设置的区别$(elem).fadeOut(3000) $(elem).animate({ opacity:0},3000)显而易见,animate方法更加灵活了,可以精确的控制样原创 2017-09-09 16:22:26 · 291 阅读 · 0 评论 -
jQuery中动画animate(下)
jQuery中动画animate(下)animate在执行动画中,如果需要观察动画的一些执行情况,或者在动画进行中的某一时刻进行一些其他处理,我们可以通过animate提供的第二种设置语法,传递一个对象参数,可以拿到动画执行状态一些通知.animate( properties, options )options参数duration - 设置动画执行的时间easing -原创 2017-09-10 01:09:16 · 319 阅读 · 0 评论 -
jQuery中停止动画stop
jQuery中停止动画stop动画在执行过程中是允许被暂停的,当一个元素调用.stop()方法,当前正在运行的动画(如果有的话)立即停止语法:.stop( [clearQueue ], [ jumpToEnd ] ).stop( [queue ], [ clearQueue ] ,[ jumpToEnd ] )stop还有几个可选的参数,简单来说可以这3种情况原创 2017-09-10 01:16:24 · 888 阅读 · 0 评论 -
Vue指令练习实例-学生信息录入
很好的一个可以感受Vue.js的MVVM模型,数据和模型双向绑定的实例练习。html lang="en">head> meta charset="UTF-8"> title>vue指令title> style> #app{ margin: 50px auto; width:600px;原创 2018-01-15 23:37:51 · 2723 阅读 · 0 评论 -
Vue实例里面的data属性为什么用函数返回
最近在学习Vue中在图灵社区买了一本电子书《Vue小书》,我感觉挺坑的,没有期待的那么好。其中有的一下子就给一大串代码,但这一大串代码只是为了说明某一点,但是这片代码很多处都可以讲的,大概是因为篇幅限制原因吧。其中我第一次看到的Vue实例中的data属性时,很好奇为什么是用function return 一个对象,而在之前某些视频中的写法又是直接写的对象,然后一查,又牵扯到JS原型链等一些原创 2018-01-19 04:02:15 · 5852 阅读 · 0 评论 -
Vue父子组件互相通信实例
组件实例之间的作用域是独立的,意味了不应该在子组件的模板内直接引用父组件的数据,但是父子组件之间需要通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件。prop 是父组件用来传递数据的一个自定义属性。子组件需要显式地用 props 选项声明 “prop”:Vue.component('child', { // 声明 props pr原创 2018-01-20 20:23:47 · 7408 阅读 · 0 评论 -
Node.js入门 ---构建一个Web程序
今天拜读了Manuel Kiessling大神的《Node入门》的博客,感觉收获很多,这篇文章非常适合有JavaScript基础和掌握了一门后台语言(Java,Python等)的想入门node的学习者。文章循循善诱,一步一步升级知识,老外的文章很有思想,写的确实比国内的XX好的多。这里我就开一篇博客记录一下。 什么是Node.js1.中文网官方定义:Node原创 2017-09-20 21:03:22 · 722 阅读 · 0 评论 -
Node基本Web程序流程图
以前Node官网给的最基本的一个小例子,顺便学下用processon画下思维导图,觉得画的很搓嘛。。。。代码:原创 2017-09-21 11:31:27 · 711 阅读 · 0 评论 -
Node简单的模块化小例子
模块化解决了JavaScript作用域互相污染问题,这里以写一个学校小例子,便于理解node的这个写法和一些简单的API(比如forEach这个.....)。 文件:依次student.js,teacher.js,kclass.js(class为保留字,不能命名),index.js,school.jsfunction add(student) { conso原创 2017-09-21 17:06:46 · 328 阅读 · 0 评论 -
http填坑
先上三张非常好玩的图,推特上面看到的,“HTTP What?” What's HTTP? http总的过程来说:1 输入网址2 域名解析 2.1 浏览器自身缓存(chrome://net-internals/#dns) 2.2 操作系统自身的dns缓存 2.3 读取本地的host文件 2.4 浏览器发起一个DNS的系统调用(本地主控DNS服务器:宽带原创 2017-09-21 22:47:16 · 294 阅读 · 0 评论 -
Node 初探异步编程
从C/C++转过来最开始不适应的就是这个了吧。=-=Node是单线程,那么怎么提高效率?怎么解决一些阻塞问题?Node的基因里使用了异步IO,上次在http://www.cnblogs.com/zhangmingzhao/p/7564738.html 已经说到这个问题,Node的异步机制往往伴随着回调。先看一个关于CPU的例子来比较同步和异步: 同步:CPU需要计算10原创 2017-09-22 20:58:22 · 211 阅读 · 0 评论 -
Node 简单爬虫
以爬慕课网Hadoop进阶课程为例,用Node写一个简单的爬虫:先抓取这个网站的源码:var http = require('http');var url = 'http://www.imooc.com/learn/890';http.get(url, function(res) { var html = ''; res.on('data', functio原创 2017-09-24 18:25:30 · 351 阅读 · 0 评论 -
Node后台刷评论
原理就是客户端发起了异步请求,简单的说就是客户端把数据通过反向代理,提交给服务器,服务器存下来,然后通过刷新操作,通过向服务器发起请求,服务器再把数据吐到页面上。测试的X课网的,但是测试XX微博却报错了,不知道哪里问题。var http = require('http')var querystring = require('querystring')var postData原创 2017-09-26 00:33:50 · 342 阅读 · 2 评论 -
module.exports和exports
首先要认识module.exports和exports分别是什么。 在nodejs中,提供了exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。但exports是引用 module.exports的值。module.exports 被改变的时候,exports不会被改变,原创 2017-09-27 18:59:44 · 399 阅读 · 0 评论 -
通读cheerio API
原文链接:https://cnodejs.org/topic/5203a71844e76d216a727d2e所谓工欲善其事,必先利其器,所以通读了cheerio的API,顺便翻译了一遍,有些地方因为知道的比较少,不知道什么意思,保留了英文,希望各位不吝告诉我,然后一起把这个翻译完成。###cheerio为服务器特别定制的,快速、灵活、实施的jQuery核心实现.###Introd转载 2017-10-20 13:22:00 · 350 阅读 · 0 评论 -
nodejs res.end和res.send 区别
原文链接:http://blog.youkuaiyun.com/genziisme/article/details/70144334 简单来说就是 如果服务器端没有数据返回到客户端 那么就可以用 res.end但是 如果 服务器端有数据返回到客户端 这个时候必须用res.send ,不能用 res.end(会报错)例子:var express = require('expres转载 2017-10-22 21:57:14 · 2131 阅读 · 0 评论 -
POST 异步请求 url没有明文显示
之前在http://www.cnblogs.com/coco1s/p/4954063.html这里看到一篇比较好的Node爬虫,其中有个问题: 我们自己进到博客园的这里,发现:这个请求是POST的,而在上几篇博文我整理到了GET和POST的区别,具体看http://www.cnblogs.com/zhangmingzhao/p/7702000.html这里的URL虽然是https://www.c...原创 2017-10-22 21:57:59 · 874 阅读 · 0 评论 -
创建一个用于上传文件的表单
index.htm:html>head> title>文件上传表单title>head>body> h3>文件上传:h3> 选择一个文件上传: br /> post请求,修改数据 --> form action="/file_upload" method="post" enctype="multipart/form-data">原创 2017-10-22 21:59:40 · 1012 阅读 · 0 评论 -
Node实现静态服务器
1.Node里面是没有Web容器之说的,所以URL上的路径跟实际文件的路径并不是一致,这里我们手动实现一个简单的原生静态服务,让Node能够找到路径的文件,实现静态服务器功能。文件夹的任何文件都能被找到。2.比如在index.html加一个图片时,Node的fs去找这个图片,但是WriteHead你就要写这个MIME类型,为image/jpg,虽然不写,Chrome浏览器可以显示(开发者工原创 2017-10-28 03:18:02 · 451 阅读 · 0 评论 -
Node实现静态服务器2
1.Node不是Apache,Node做的事顶层路由设计,Apache帮你做了一切,而Node你要自己设计,自己手写。所以现在的缺点就是全部都是200,没有304。缓存问题。2.继上次的getMime,这里是完成作业,读取JSON,把所有的文件类型对应起来。注意这里的getMime因为又有了一层fs的readFile的异步,这里返回最后的mime不一定是我们要的mime。这里的解决办法是把原创 2017-10-28 23:51:21 · 223 阅读 · 0 评论 -
Node实现简单的表单+图片上传+路由
Node实现一个表单处理+图片上传功能,不是用express1.使用formidable模块用于上传文件(图片)的处理。注意form表单要使用multipart/form-data属性。2.使用chunk分段接收,原因是当接受了一小段,可能就给别人服务了。防止一个过大的表单阻塞了整个进程3.上传上去的图片使用formidable自定义路径,用fs改名。4.实现简单的原创 2017-11-06 23:50:05 · 376 阅读 · 0 评论 -
Express static静态路由
Express框架在使用app.use中传入express.static设置静态路由时,这个文件夹下的所有文件夹和文件都会变成路由文件,也就是说当在URL输入该路径时,会直接捕捉到该请求。这时候,下面的app.get请求捕捉到的将会失效。eg:这样一个结构: var express = require("express");var app = e原创 2017-11-23 16:58:49 · 1160 阅读 · 0 评论 -
fs.stat()
官方说明:fs.stat(path, callback)#查看英文版 / 查看英文md文件 / 编辑中文md文件版本历史path | | callback err stats 异步的 stat(2)。 回调有两个参数 (err, stats) 其中 stats 是一个 fs.Stats 对象。如果发生错误,则 err.code 会是常见系原创 2017-11-23 16:59:51 · 1551 阅读 · 0 评论 -
json+underscore+Node 小例子
这里不再用ejs模版,只用Node去发送json数据,用Express静态化public文件,content.html引用underscore模版,引用jQuery,用jQuery向服务器发送AJAX请求,把json的数据读取到underscore的template模版内容里。这种写法,网页是看不到main模块里的代码,这样是前后端更加分离,比直接用Node+ejs更分离一些。这里新闻的n原创 2017-11-23 17:00:40 · 278 阅读 · 0 评论 -
Node 实现一个MVC相册资源管理器
暂没有数据库,所以做的也是本地的资源管理器。 总体设计: app.js:var express = require("express");var app = express();//控制器var router = require("./controller");//设置模版引擎app.set(原创 2017-11-23 17:13:43 · 1133 阅读 · 1 评论 -
Node.js环境下对MongoDB实现查,插,分页功能
写法上还是模块化,尽量把不同职责的代码分开,避免"万能类",尽量采用MVC。连接,创建数据库,插入数据 db.js: //这个模块里面封装了所有对数据库的常用操作var MongoClient = require('mongodb').MongoClient;//不管数据库什么操作,都是先连接数据库,所以我们可以把连接数据库//封装成为函数func原创 2017-11-23 17:15:35 · 848 阅读 · 0 评论 -
Node对MongoDB实现增删改查,分页功能
对上上一篇的内容的增加:Node.js环境下对MongoDB实现查,插,分页功能本来那时候就写好了,但是那时候有个Bug,不知道哪里的问题,昨天才发现updateMany函数传实参的时候把collectionName打了引号,煞笔了一天。诶=-=//limit,skip高效率做法var express = require("express");var app = exp原创 2017-11-25 17:57:07 · 371 阅读 · 0 评论 -
Node操作cookie
记录查询的信息,然后再主页显示你的喜好。eg: http://localhost:3000/gonglue?mudidi=%E5%B4%A9%E4%B8%89、 可以手动把浏览器cookie删除。但是这次代码数组存下的就存下了。只是在request Header里的cookie被清除了。var express = requir原创 2017-11-27 11:46:12 · 542 阅读 · 0 评论 -
express-session
express-session是Node和express里面处理session的中间件,一说到session,就要提到cookie,这两者的不同可见我的以前博客:http://www.cnblogs.com/zhangmingzhao/p/7613141.html express-session中间件将会话数据存储在服务器上;它仅将会话标识(而非会话数据)保存在 cookie 中。从1.5原创 2017-11-27 16:37:44 · 392 阅读 · 0 评论 -
基于Node和MongoDB的Web微博系统
基于Node和MongoDB的Web微博系统概述项目是受到《Node.js开发指南》一书启发,作者BYVoid大佬是当时第一批Node开发者,当时学习者迫切需要一个这么DEMO。当然现在已经过去很多年了,Node早就更新无数次了,12年的这本书也就过时,许多代码都根本跑不通了,最后还是要以官网API为准。 1. 项目的后台用的express。 2. 数据库部分自己写的原生MongoDB,没有原创 2017-12-22 23:56:23 · 529 阅读 · 0 评论 -
Node读取和写入json,格式化输出json
今天是在深信服实习的第5天,接到任务要做产品的外语版,Web端的实习生目前只有我一个,前端和PHP的都要我来做。。。现在需要一个写一个脚本,处理两个json文件,把Bjson文件在A中没有的中文词条都要找出来写入另外一个json,实际需求要复杂得多,先写个初步demo:var fs = require('fs'), path = require('path');let ans...原创 2018-03-07 15:38:40 · 22826 阅读 · 3 评论