OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

Node.JS的竞争对手?QuickJS入门教程,使用os模块读写文件,并将JavaScript编绎成可执行文件

JS学习 by ourjs key Node.JS 1563252486573 评论 (0)
QuickJS 是一个完全由C语言编写的极小型JavaScript引擎,支持跨平台运行,并且有一些Java的特质,可将JS直接编绎成二进制文件。内置的系统模块还可以直接读写文件,动态加载脚本。目前还不支持net模块,不过已经有人在pull request中提交了merge请求。不久将可以直接使用系统Socket或发送http请求,构建web服务器。

由于非常精简,而且拥有JavaScript的全部功能,可以预见,QuickJS将是Node.JS在嵌入设备,尤其是低端设备上较强的竞争对手。

在嵌入式设备树莓派上编译QuickJS教程:一个C语言编写的极简JavaScript引擎

JS学习 by ourjs key JavaScript 1563232162054 评论 (0)
QuickJS 是一个完全由C语言编写的极小型JavaScript引擎,作者是大名鼎鼎的FFmpeg和QEMU的创建者Fabrice Bellard以及C专家Charlie Gordon。QuickJS采用开源MIT协议,不限制商业用途。它是一个“小而完整的JavaScript引擎”,支持最新的ES2019语言规范。
因为其复杂度要远远低于用C++编写的Google的V8和Mozilla的SpiderMonkey,因此非常适合在嵌入式设备上使用。
因为完全由C语言编写,可以很方便地集成到一些著名的C语言程序比如,替换掉Redis和Nginx中的Lua脚本。
由于可以单独将JS编绎成可执行文件,应用场景更加广泛。

使用JavaScript的Proxy监听对象属性变化并进行类public/private的访问控制

JS学习 by ourjs key JavaScript 1559993279181 评论 (1)
Proxy是ES6的引入的一个对象监听机制。可视为JavaScript对象的一个代理中间件。用户在访问对象时,会触发自定义行为。
Proxy最简单的用法是可以监听对象属性的变化,比如下面的,当 obj 的 visit 属性改变时,自动更新页面上相应的 input元素值。

var obj = {}

var handler = {
  set: function(target, name, value) {    
    //改变被代理对象的值,使之保持一致
    target[name] = value

    var input = document.querySelector('[name=' + name + ']')
    if (input) {
      input.value = value
    }
  }
}

var proxy = new Proxy(obj, handler);
proxy.visit = 100

JavaScript求一个字符串的字节长度

JS学习 by ourjs key JavaScript 1559182204215 评论 (0)
某些场景可能会对输入内容的字节长度有限制,比如说RSA加密算法。但 String.prototype.length 只会统计字符串的字符个数,并不是字节长度。

同样的字符数,中文要比英文多占用1倍的空间。此时可以通过chartCodeAt来统计字符长度。

Node.JS用RSA签名算法公钥加密私钥解密,实现License软件授权验证

JS学习 by ourjs key Node.JS 1559003824519 评论 (0)
在Node.JS经常用加密算法对一些敏感用户数据进行加密,比如说用户密码。而且用户密码不需要考虑解密,如果用户遗失密度,重置成新的已经新密码即可。此时用不可逆加密算法即可,对比加密后的字符串即可。

还有一些应用需要解密出原内容的,比如说HTTPS的传输。使用公钥对HTTP请求进行加密,在服务器用私钥解密。此时需要用到不对称加密算法,在Node.JS中这种机制很容易实现:

Node.JS借助OS模块获取当前Windows系统用户登录名

JS学习 by ourjs key Node.JS 1558349389037 评论 (1)

Node.js os 模块提供了一些基本的系统操作函数。可以借助os对象获取系统基本信息:


$ node user.js
{ uid: -1,
  gid: -1,
  username: 'Administrator',
  homedir: 'C:\\Users\\Administrator',
  shell: null }

JavaScript中将字符串true或false转换成Boolean类型

JS学习 by ourjs key JavaScript 1556336322702 评论 (1)
JavaScript中可以使用parseInt方法将字符串转换成整型。但布尔型没有相关方法。可使用JSON解析:

JSON.parse("true");

jQuery用$.prop,$.attr方法来获取或设置checkbox当前选中状态

JS学习 by ourjs key JavaScript 1555425024423 评论 (0)
使用$.fn.attr来获取或设置html的checkbox元素的状态。但是界面上此复选框并没有反映到界面上,因为这个只是改变html的DOM结构,并不改变当前选中状态。这时使用 prop 即可

$('#chb_data_binding').prop('checked', true)
$('#chb_data_binding').prop('checked')
> true

Node.JS中用concat和push连接两个或多个数组的性能比较

JS学习 by ourjs key JavaScript 1555422352596 评论 (1)
JavaScript中连接两个数组成一旧新数组,常用concat方法,比如:
借用apply方法 ,push、splice也可和来连接数组。因为push没有创建新数组,如果想要保挂原对象的引用,可使用push方法。
那么两者在node.js的性能如何? 我们做了一组测试数据,两种分别测试100万次。

判断是否为对象typeof abc == 'object' 与 instanceof 性能比较

JS学习 by ourjs key JavaScript 1555141548807 评论 (0)
我们通常使用 typeof obj == 'object' 来判断变量是否为对象。但也可通过 obj instanceof Object 来判断,那么二者的性能如何?

我们写一个简单的测试用例,分别试100万次,结果使用 instance 比 typeof 快近10倍。

广告投放

 近期热门 - 点击最多
  1. Node.JS用RSA签名算法公钥加密私钥解密,实现License软件授权验证
  2. Node.JS在命令行中检查Chrome浏览器是否安装,并打开指定网址
  3. 使用JavaScript的Proxy监听对象属性变化并进行类public/private的访问控制
  4. 树莓派4对比测试:性能提升3倍启动时间反而变慢?TF卡成最大瓶颈
  5. JavaScript求一个字符串的字节长度
  6. Node.JS借助OS模块获取当前Windows系统用户登录名
  7. GO有语法缺陷,缺少泛型、public/private、三元运算符?我不喜欢 Go 语言的十个理由
  8. 在嵌入式设备树莓派上编译QuickJS教程:一个C语言编写的极简JavaScript引擎
  9. Node.JS的竞争对手?QuickJS入门教程,使用os模块读写文件,并将JavaScript编绎成可执行文件
  10. 用 OnceAir 搭建个人Git/Svn/照片备份服务器,每年电费7块钱

  全端社区 - 最新回复
  1. Node.JS的竞争对手?QuickJS入门教程,使用os模块读写文件,并将JavaScript编绎成可执行文件
  2. 在嵌入式设备树莓派上编译QuickJS教程:一个C语言编写的极简JavaScript引擎
  3. HTML5相关格式转换提供商对比—选择困难户的专属福利来啦!
  4. 为什么我不建议你将JavaScript作为主力语言
  5. 对于现代开发来说,JavaScript就是一种垃圾语言
  6. Node.JS与USB接口通信:检测U盘/移动硬盘插拔事件和发送接数据
  7. 树莓派4对比测试:性能提升3倍启动时间反而变慢?TF卡成最大瓶颈
  8. GO有语法缺陷,缺少泛型、public/private、三元运算符?我不喜欢 Go 语言的十个理由
  9. 使用JavaScript的Proxy监听对象属性变化并进行类public/private的访问控制
  10. Node.JS借助OS模块获取当前Windows系统用户登录名

  开源的 OurJS
Demo (EN), Demo (CN), Github
  关注我们 RSS

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号

加载中...