判断Node.JS TCP Socket当前连接状态
by ourjs keys JS学习 Node.JS 1534353061812
Node.JS 官方文档中并没有获取当前 socket 连接状态的说明。不过打印 socket 可以看出,可以通过 socket._handle 属性来判断,当socket end或 destroy后,此属性被设为null。当建立tcp连接后 _handle 为 tcp 对象:

Socket {
  connecting: false,
  _hadError: false,
  _handle:
   TCP {
     bytesRead: 0,
     _externalStream: {},
     fd: -1,
     reading: true,
     owner: [Circular],
     onread: [Function: onread],
     onconnection: null,
     writeQueueSize: 0 },
  _parent: null,
  _host: null,
用JavaScript实现node.js中的path.join方法
by ourjs keys JS学习 JavaScript 1534004685034
Node.JS中的 path.join 非常方便,能直接按相对或绝对合并路径,使用: path.join([path1], [path2], [...]),有时侯前端也需要这种方法,如何实现呢?
其实直接从 node.js 的 path.js 拿到源码加工一下就可以了: 
1. 将 const 等 es6 属性改为 var,以便前端浏览器兼容
2. 添加一个判断路戏分隔符的变量 sep,即左斜杠还是右斜杠,以第一个路戏分隔符为准
3. 将引用的变量和函数放到一个文件里就可以了:
JavaScript中新建一个带全局变量参数的new Function动态函数
by ourjs keys JS学习 JavaScript 1533813494904
有些场景会动态传递一些计算公式到后端,后端计算出结果,计算公式可能会使用到一些变量。如用户输入的公式:  a + b,需要计算 a + b 的值。有一种方法,在公式中使用 this 参数,然后传入model实现,如:

myFunc = Function( 'return this.a + this.b' )
上海行业工资排名:产品经理一骑绝尘,前端排名第二?
by ourjs keys 大话编程 分享 1533200156109
根据已经公布的数据来看,今年上海平均工资为:年平均工资78045元,月平均工资为6504元,比上年增长9.5%。上海平均工资最高的岗位
排名岗位平均工资
1产品经理¥14317
2web前端¥10838
3项目经理¥10572
4ui设计师¥10131
Node.JS命令行或批处理中更改Linux用户密码
by ourjs keys 编程技巧 Node.JS 1532057385473
chpasswd 可在批处理文件中批量更改Linux用户的密码。用法:
chpasswd [options]
设置select元素中option的默认值
by ourjs keys JS学习 JavaScript 1531970261376
可以在option上添加selected属性来设置select元素默认选中的值:

<select id="auth_access" class="form-control ">
  <option value="none">禁止</option>
  <option value="read">只读</option>
  <option value="write" selected>写入</option>
</select>
Git服务器搭建,多用户组权限控制配置,添加新用户密码登陆
by ourjs keys 技术前沿 分享 1531985571718
因为git是通过ssh协议实现的,所以权限控制与Linux的权限控制一致,即可以通过ssh key文件登录,也可以设置你用户名密码登录。这里主要介绍如何搭建git服务器并通过用户组设置户用户登录。

服务器端安装 git server

apt-get install git-core
JavaScript用Number/parseInt/parseFloat判断字符串是否为数字
by ourjs keys JS学习 JavaScript 1530252920818
通过isNaN判断是否为 NaN

isNaN(Number('vip1'))  //true
isNaN(Number('1.1')) //false
用JavaScript将input/textarea中的文本复制粘贴到剪切板
by ourjs keys JS学习 JavaScript 1529981667955
浏览器对剪切板有一定的安全限制,与 window.open 方法类似,只有在用户交互过程中才允许操作,比如说鼠标点击,键盘输入等。
要想将文本复制到剪切板首先要将该文本框全选,如:

document.querySelector('#input').select();
Node.JS用Path将相对路径转为绝对路径
by ourjs keys JS学习 Node.JS 1529422909876
之前介绍过用JavaScript将相对路径转为绝对路径的方法: 

其实在Node.JS中更简单,直接用 path中的方法即可:

var path  = require('path')
var dir    = path.resolve('../oncedir')

 近期热门 - 点击最多
  1. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  2. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  3. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  4. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  5. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  6. Springboot+Gradle+Mysql+Jpa最简单实例教程
  7. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  8. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  9. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  10. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务

  全端社区 - 最新回复
  1. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  2. Windows与Mac通过git ssh和rsync实现文件共享互传
  3. Windows与Mac通过git ssh和scp实现文件共享互传
  4. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  5. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件
  6. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  7. ReactNative获取Android/iOS的MAC/IP地址: react-native-device-info模块的安装与使用
  8. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  9. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  10. Springboot+Gradle+Mysql+Jpa最简单实例教程

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

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

OnceOA