Simple is Happiness
Less is more
JS学习
用jQuery将JavaScript对象转换为querystring查询字符串
by ourjs keys JS学习 JavaScript 1541943696425
在get方式的参数传递中,常常需要将JavaScript对象,转换成查询字符串,比如:
{ method: 'get', state: '200' }
会转换成
?method=get&state=200
用JavaScript往select元素中添加new option下拉选项
by ourjs keys JS学习 JavaScript 1541929564593
jQuery更简洁的写法:

$('#mySelect').append($("<option/>", {
    value: key,
    text: value
}));
bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程
by ourjs keys JS学习 JavaScript 1541682485873
目前有两个时间日期选择模块可以使用,bootstrap-datetimepicker 特点是可以选择日期和时间。此项目依赖moment的翻译和日期格式化,所以可以加上 moment-with-locales.min.js 的引用: 

  $(selector).datetimepicker({
      locale: 'zh-CN'
    , format: "YYYY-MM-DD"
  })

用JavaScript实现basename获取路径中的文件名
by ourjs keys JS学习 前端 1538713603170
Node.js中path对象有一个basename函数,可以获取路径中最后一段路径名称,通常是文件名,其实用javascript几行代码就可以实现

function basename(str) {
  var idx = str.lastIndexOf('/')
  idx = idx > -1 ? idx : str.lastIndexOf('\\')
  if (idx < 0) {
    return str
  }
  return str.substring(idx + 1);
}
用JavaScript测试图像上两点之间的距离
by ourjs keys JS学习 JavaScript 1536928766023
用浏览器原生支持的JavaScript,可以实现一个简单的测量图像两点之间距离的方法。基本原理是记录下 两次鼠标点击的位置。然后计算出距离,按F12,在console中粘入以步代码即可测试。
JavaScript运算出现很多小数导致运算不精确的问题,用toFixed解决
by ourjs keys JS学习 JavaScript 1535284489834
最近发现一个JS运算的一个问题,某些小数运算会出现类似无限循环的小数

var fee = 19.99
var all = fee * 100
console.log(all)
> 1998.9999999999998

使用Node.JS批量查找替换目录下文本文件中图片地址内容
by newghost keys JS学习 Node.JS 1534425872703
最近想起来 adsense 的广告费好久没领了,就登陆了查看了一下。发现最近几个月 ourjs 的流量下降地很厉害。 然后登陆 google analytics 仔细查看,发现流量量几乎降低了一半。
然后分析里面的一些文章,发现很多图片不能显示了。
仔细研究下发现,以前用的 github page 图床被墙了,所有引用 github.io 的图片都打不开。
但是又发现,githubusercontent 的图片引用是可以用的。
找到问题的原因,赶紧花了几分钟写了个小脚本,把里面所有的地址替换了一下。
判断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,
Node.JS进程间通讯的几种方法:Redis Publish/Subscribe 和 UDP Socket
by ourjs keys JS学习 Node.JS Redis OnceDB 1534340256648
如果您装有redis客户端就可以通过 redis 的 publish/ subscribe方法来通讯,注意一旦使用subscribe,则此 redis 只能接收:SUBSCRIBE、PSUBSCRIBE、UNSUBSCRIBE和PUNSUBSCRIBE 等消息订阅指令,您可以专门创建一个redis实例来进行进程间通信。 
用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. 将引用的变量和函数放到一个文件里就可以了:

 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  2. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  3. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  4. Node.js 打印vite react+go项目目录树
  5. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  6. Windows与Mac通过git ssh和rsync实现文件共享互传
  7. Windows与Mac通过git ssh和scp实现文件共享互传
  8. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  9. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件
  10. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别

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

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

OnceOA