OurJS


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

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


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

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

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


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

decodeURIComponent有个BUG,当浏览器请求地址含%+数字时,会解析错误

JS学习 by kris key JavaScript 1495605460138 评论 (1)
比如要查询字符串: 限时特惠!仅需0.5%25!


但搜索框中会出现:  "限时特惠!仅需0.5%!"

25消失了!

NodeJS的DNS使用:域名解析,MX记录查询,SPF反垃圾邮件测试

JS学习 by kris key Node.JS 1495107320794 评论 (0)

Node.js 有一个专门用于解析域名的模块dns。引入DNS 模块语法格式如下:

var dns = require("dns")

SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。

通过解析域名的SPF记录,我们可以检查某个发送邮件的IP地址是否合法:

dns.resolveTxt('cn.oncedoc.com', function() {
  console.log('txt cn.oncedoc.com')
  console.log(arguments)
})

Node.JS如何调用Chrome打开浏览器链接地址

JS学习 by kris key 开源 1494940468704 评论 (0)

在Node.JS中打开浏览器网址非常简单。

此时会使用chrome打开网址,如果没有安装则会使用默认浏览器打开。

在Node.JS中通过child_process调用即可。

var cp    = require('child_process')
cp.exec('start chrome http://www.baidu.com')

用纯Node.JS弹出Windows系统消息提示框(MessageBox)

JS学习 by kris key Node.JS 1494816206450 评论 (1)
Node.JS是一个控制台程序,如果想要从Node.JS弹出Windows系统提示框的话,有很多方法可以实现。比如

var cp    = require('child_process')

var initApp = function() {
  var vbsPath = path.join(__dirname, 'vb.message.vbs')

  cp.exec('cscript.exe ' + vbsPath + ' "提示" "此文件没有跟 OnceDoc 绑定"', function(err, stdout, stderr) {
    if (err) {
      fs.writeFileSync('log.log', err.toString())
    }
  })
}

initApp()

利用Windows注册表将你的Node.JS程序添加到右健菜单直接运行

JS学习 by kris key Node.JS 1494730358119 评论 (0)
在Windows 系统中,只要对着桌面或是文件(夹)单击右键,就会弹出一个快捷菜单,里面有对该文件(夹)的一些常用操作命令,通过右键菜单,可以方便用户对文件的某些操作。比如你写了一些Node.JS脚本可以通过这种方式右健直接运行,非常方便。有时侯我们无法通过写注册表文件来运行某个程序,比如说用户没有安装将Node.JS安装到默认目录,这时我们可以通过Node.JS来用编程的方式动态更改注册表。

JavaScript中splice与slice的区别、数组的复制以及在指定位置添加删除元素

JS学习 by ourjs key JavaScript 1494229865478 评论 (0)
splice与slice是数组中的两个常用方法,但是很多初学者很容易将二者混淆。

slice的操作不影响原数组。会返回所选择的元素。
splice会影响原数组,而且可以使用splice往数组中指定位置添加或删除元素。返回被删除的元素。

Node.JS中如何判断递归嵌套的所有回调函数已经执行完毕,以读取目录下所有文件为例:计数比Promise方式快将近一倍

JS学习 by kris key Node.JS 1493952697136 评论 (2)
当一个Node.JS函数中有大量的异步操作时,如何判断所有回调均已完成就成为一个问题。以递归读取一个目录下的所有文件为例,可以有两种方法来判断异步函数是否全部结束:

Promise有一个 all 方法:

Promise.all(iterable) 方法指当所有在可迭代参数中的 promises 已完成,或者第一个传递的 promise(指 reject)失败时,返回 promise。

Node.js网页抓取:一个最简单的http请求客户端示例(request client)

JS学习 by kris key Node.JS 1493877901576 评论 (2)
Node.JS有一个request模块,可以很方便的抓取网页内容。最简单的一个示例:

var request = require('request');

request('http://www.google.com', function (error, response, body) {
 if (!error && response.statusCode == 200) {
   console.log(body);
 }
})

由上例可以看出用request发起一个http请求确实非常简单,不过唯一的问题就是,request模块的第三方依赖比较多,导致这个模块非常地大,要占用好几M的空间。

JavaScrip字符串模板表达式中的反引号怎么打?

JS学习 by ourjs key JavaScript 1493689924032 评论 (0)

模板字符串是ES6引入的可以在字符串中嵌入变量的表达式。与常用的单引号、双引导不同,字符串模板使用反引号表达式。

反引号一般在键盘的左上方,数据健前的第一个键,即按下Shift会显示 "~" 的那个鍵,不按Shift即为反引号。

Node.JS用Socket实现FTP Server服务器和Client客户端

JS学习 by kris key Node.JS 1493294512603 评论 (0)

FTP协议其实就是主机和服务通过Socket进行固定格式的通信过程,当某客户端连接到FTP 服务器后,客户端发送指令:

<指令> [参数] <命令结束符:"\r\n"> 

服务会按以下格式返回:

<状态码> [参数或说明] <命令结束符:"\r\n"> 

例如以下是FileZilla FTP客户端与服务器通信的过程:

响应: 220-FileZilla Server version 0.9.43 beta
响应: 220-written by Tim Kosse (tim.kosse@filezilla-project.org)
响应: 220 Please visit http://sourceforge.net/projects/filezilla/
命令: AUTH TLS
响应: 502 SSL/TLS authentication not allowed
命令: AUTH SSL
响应: 502 SSL/TLS authentication not allowed
命令: USER newghost
响应: 331 Password required for newghost
命令: PASS **************
响应: 230 Logged on

广告投放

 近期热门 - 点击最多
  1. WordPress、百度宣布停止使用React(Native)开源项目,Facebook开源专利许可潜在的法律风险
  2. 阿里涉嫌抄袭创业公司产品:在今天这个故事里,阿里巴巴就是四十大盗
  3. 从 Node 到 Go:一个粗略的比较—GO平均性能比JavaScript快十几倍
  4. 垄断"开源硬件"树莓派芯片的供应商博通要收购高通了
  5. 迫于社区压力:React(Native)16将更换成MIT开源协议
  6. Node也许不是构建大型服务的最佳选择—Node之父Ryan Dahl访谈录
  7. GitHub2017年度开发者报告 JavaScript依然遥遥领先Python突飞猛进
  8. 40行JavaScript代码实现的3D旋转魔方动画效果
  9. NodeJS动态传参特性:不定个数参数的省略,默认值与解构
  10. 招聘前端工程师
  11. AirJD-简单好用的免费建站工具

  全端社区 - 最新回复
  1. 干货满满!20篇IntelliJ IDEA使用技巧整理!
  2. 【更新】支持多种格式音视频的本地.NET组件Audio Sound Recorder for .NET 更新至v9.0.0.0
  3. 【更新】音频视频组件Audio DJ Studio for .NET更新至v10.0.0.0丨附下载
  4. 【示例教程】LEADTOOLS中如何载入DICOM文件并压缩
  5. 【DevExpress v17.2新功能预告】增强ASP.NET TreeList
  6. 分析JavaScript10个常见BUG以及修复方法
  7. 【示例教程】LEADTOOLS中如何使PACS服务器管理器支持H264
  8. 文档管理控件Xshell 发布v6 Beta版本,引入会话管理器面板丨附下载
  9. MyEclipse WebSphere开发教程:WebSphere 7安装指南(三)
  10. 使用简单的JavaScript,我们为什么应该抵制ES6的一些特性

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

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

ourjs官方微信号

加载中...