Date对象提供了三个格式化本地时时间的函数,可通过转入国家代码获取相应的本地化时间,比如中国为zh-CN
new Date().toLocaleString('zh-CN')
//输出: '2022/9/29 16:14:48'
OurJS网站之前一直使用Bing实现站内搜索,基本原理是搜索时添加关键字 site:ourjs.com 即可限定只搜索 ourjs.com 网站内的内容。因此在实现时需要通过JavaScript改变最终的搜索词。
但有用户反应对中文支持不太友好,并且提交 Sitemap 后,百度收录速度明显快于Bing。现在已经换成了百度搜索。
Vue是非常优秀的能实现双向数据绑定的前端框架,可极大提高开发效率。与在 React 中集成 jquery及原生javascript编写的组件一样。React 中也可集成vue。
这里我们通过一个 React+Vue 实现的登录页面为例,介绍如何将二者结合使用。本教程是React Hooks系统教程中的一部分。
当我们使用“老式”方法编写网页时,通常不太需要关注JavaScript内存管理。
但 SPA(单页应用程序)的兴起促使我们需要关注与内存相关的编码实践。
在本文中,我们将探讨导致JavaScript内存泄漏的编程模式,并说明如何改善内存管理。
loadtest 是支持通过 npm 安装的一个性能测试工具, 支持 windows和linux,在 node.js 的项目中使用非常方便, 全局安装:
npm install -g loadtest
使用: 连续测试下面的服务20秒,保持100个并发
loadtest http://localhost:8054/test -t 20 -c 100
qr-scanner是一个支持HTML5网页扫描条形码、二维码的开源库。
轻量级:〜48.7 kB(〜12.4 kB压缩后)。
性能优内存占用少。
在WebWorker中运行,不阻塞主进程
在彩色QR码上获得性能优
根据我们的基准测试,该项目较jsqrcode提升约2-3倍。
错误识别率低。
支持扫描网络摄像头的以及扫描图片文件。
使用defineProperty可以定义属性是否可以被枚举、修改和删除, configurable 对象的属性是否可以被删除
var o = { a:1 }
Object.defineProperty(o, 'a', { configurable: false })
delete o.a
console.log(o) // {a: 1}
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可以判断一个字符串是否为整数。不过目前JS没有内置的函数来判断一个数字是否为包含小数的数字,直接用isNaN即可:
function isNumber(val) {
return !isNaN(val);
}
webpack是目前比较流行的前端build工具,本质上是一个模块打包器。合并压缩JavaScript,css,图片等。
目前有很多开源项目使用webpack进行打包。