ourjs

JavaScript和node.js内存泄露的原因和避免方法及Chrome调试工具使用教程
by ourjs keys JavaScript Node.JS 编程技巧 前端 1591319841520

当我们使用“老式”方法编写网页时,通常不太需要关注JavaScript内存管理。

但 SPA(单页应用程序)的兴起促使我们需要关注与内存相关的编码实践。

在本文中,我们将探讨导致JavaScript内存泄漏的编程模式,并说明如何改善内存管理。

Html5网页中用JavaScript调用本地手机摄像头扫描识别微信二维码、条形码:postMessage跨域https传递扫码结果消息
by ourjs keys JavaScript Html5 Node.JS 1590639140637

 qr-scanner是一个支持HTML5网页扫描条形码、二维码的开源库。

轻量级:〜48.7 kB(〜12.4 kB压缩后)。
性能优内存占用少。
在WebWorker中运行,不阻塞主进程
在彩色QR码上获得性能优
根据我们的基准测试,该项目较jsqrcode提升约2-3倍。 
错误识别率低。
支持扫描网络摄像头的以及扫描图片文件。

JavaScript设置对象属性只读不可修改、不可枚举、不可删除:Object.defineProperty
by ourjs keys JavaScript 前端 1590207306927

使用defineProperty可以定义属性是否可以被枚举、修改和删除, configurable 对象的属性是否可以被删除

var o = { a:1 }
Object.defineProperty(o, 'a', { configurable: false })
delete o.a
console.log(o) // {a: 1}
CSS教程:图片使用混合模式和颜色叠加filter滤镜,改变PNG图标颜色
by ourjs keys css Html5 前端 1588644749818

css3添加了两个与混合模式相关的属性,这种方法的基本原理是将图片和背景颜色混合,从而变成新的颜色。

如果图片是含有透明背景的PNG图片时,可使用filter,一行CSS就可改造图片颜色的色相、饱和度、对比度等,原理类似PS中的滤镜。

CSS教程:如何设置自动显示隐藏scrollbar滚动条,自定义外观样式/宽度,附demo示例大全
by ourjs keys css Html5 前端 1588633964712

Webkit 浏览器,像Chrome,Safari,Opera 支持非标准方法 ::-webkit-scrollbar 来创建自定义滚动条。

node.js通过Error.prepareStackTrace获取上层调用函数的文件名地址和行数位置
by ourjs keys Node.JS JavaScript 1587526318956

node.js中可以通过 __dirname 获取当前文件的目录。那么如何在被调用函数中获取调用者的文件地址和函数名以及行数位置?可使用Error.prepareStackTrace来获取StackTrace数组对象,获取调用者文件信息。 

var getCallerPath = function() {
var orig = Error.prepareStackTrace;
Error.prepareStackTrace = function(_, stack) { return stack; };
var err = new Error;
var stack = err.stack;
Error.prepareStackTrace = orig;

// stack[0]为当前函数, stack[1]为调用者,stack[2]为上层调用者
return stack[2].getFileName()
}
JavaScript判断字符串是否为数字类型:Number.isInteger、isNaN、正则表达式比较
by ourjs keys JavaScript 前端 1587257865266

JavaScript中有Number.isInteger可以判断一个字符串是否为整数。不过目前JS没有内置的函数来判断一个数字是否为包含小数的数字,直接用isNaN即可:

function isNumber(val) {
return !isNaN(val);
}
webpack前端项目调试环境安装入门:webpack.config.js禁用UglifyJs只合并JavaScript不压缩混淆代码
by ourjs keys Node.JS JavaScript 前端 1585359029010

webpack是目前比较流行的前端build工具,本质上是一个模块打包器。合并压缩JavaScript,css,图片等。

目前有很多开源项目使用webpack进行打包。

node.js创建aria2代理服务器:使用net.socket转发rpc或http request请求,替换websocket
by ourjs keys Node.JS JavaScript 1585211369965

Aria2 BT下载可通过网页端访问,网页站通过RPC与Aria程序通讯。
Aria2通过websocket来调用aria2的rpc服务,实现状态查询、创建下载任务,这样可以解决ajax的跨域问题。不过这样NAS服务器要新开一个端口,而且旧浏览器并不支持。此时可使用代理服务器。

request停止维护:用node.js实现http网页爬虫抓取,模拟ajax\post请求,大文件上传下载
by ourjs keys Node.JS JavaScript 1585183607496

最近 node.js 一个比较出名的 http request 模块停止维护了。其实这个模块已经变得非常臃肿,模块依赖过多,体积过大,接口不统一。

其实现在node.js的http模块已经非常完善,几行代码就能自己写一个。模拟post指定 data 即可:

request({ url: 'http://ourjs.com/home', data: { abc: 1 } }, function(err, response, data) {
console.log(data)
})

 近期热门 - 点击最多
  1. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  2. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  3. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  4. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务
  5. 比较测试:用百度文心一言和阿里通义千问写删除文件目录并且是async/await代码
  6. node.js使用TensorFlow入门教程二:什么是张量神经网络运算与矩阵的关系及基本入门代码
  7. node.js使用TensorFlow入门教程一:简介及工作原理环境安装及初始化
  8. node.js用saml2连接Identity Provider服务器完成Azure AD/Active Directory域帐号身份认证
  9. node.js中用typescript连接mongodb数据并设置断开后自动重启连接
  10. git 将本地仓库关连并push远程

  全端社区 - 最新回复
  1. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  2. Paddle/abbyy等ocr比较:如何将图片生成可选择文字版PDF
  3. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  4. 如何用JavaScript获取某个元素copy selector的CSS选择器
  5. 青否数字人5.0上线,支持真人接管实时驱动!
  6. 遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!
  7. 比fs.watch更加优秀的Chokidar文件变化检测库
  8. HTML页面嵌入部分使用Vue3,在jQuery应用中用类似Vue2使用Vue3
  9. 克隆自己的数字人形象需要几步?
  10. Node.JS中Fetch/Axios连接Strapi服务器端localhost,Next.JS后端SSR请求返回connect ECONNREFUSED,但客户端CSR正常

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA