ourjs

typeof判断参数是否为undefined与全等判断法性能比较
by ourjs keys JS学习 JavaScript 1546590563530
通过我们使用 typeof 来判断参数是不是未定义,比如 typeof abc == 'undefined',但也可通过全等式判断,如 abc === undefined,那么二者的性能如何?
我们写一个简单的测试用例,分别试100万次。
JavaScript不刷新查找当前网址上的querystring并修改查询字符串变量
by ourjs keys JS学习 JavaScript 1544853102332
经常有些场景需要从网址获取变量,有时侯需要修改某个变量,有非常多的JS库可以实现,其实用简单的几行代码即可实现:
qs.get('param1')
> test1
qs.set('param1', 'newvalue')
# 当前网址更新为:  http://ourjs.com?param1=newvalue&param2=test2

C语言用指针模拟按引用传递int整型参数
by ourjs keys 心得体会 分享 1542163759430
C语言不支持类似c++的按引用传参的语法,比如下面的代码,只能在c++中工作:
void f(int &j) {
  j++;
}

int main() {
  int i = 20;
  f(i);
  printf("i = %d\n", i);

  return 0;
}
JavaScript无引用复制一个Array数组的每一个元素到另一个数组
by ourjs keys JS学习 JavaScript 1542092009789
如果目标数组不存在,可使用 slice/ concat 复制
var destinationArray = sourceArray.slice();
var destinationArray = sourceArray.concat();
如果目标数组存在,且想保持引用,可使用 push
destinationArray.push.apply(destinationArray, sourceArray);
JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用
by ourjs keys JS学习 JavaScript 1542095783270
有非常多的方法来清空一个已经存在的数组,这种方法会返回删除的所有元素,并形一个新的数组,不过对性能没有影响,并将保持对数组的引用。

var arr = [1,2,3,4];
arr.splice(0, arr.length)
JavaScript使用类似break机制中断forEach循环
by ourjs keys JS学习 JavaScript 1542069544477
JavaScript数组对象,有一个forEach方法,可枚举每一个数组元素,但并不支持类似for循环的break语法,中断循环:

[1,2,3].forEach(function(item) {
    // if(!item) break; 不支持
});
用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"
  })

Redis只往zset有序集合添加不存在的数据:关键字索引查询构建+源码分析
by ourjs keys 心得体会 分享 1540738289407
Redis的有序集合Sorted Set(zset),可以很方便地用来构建关键字索引表,可以很方便地实现支持超大规模并发的关键字组合条件查询。
比如有套博客系统,博客文章存放在 hash 类型 article:* 中,其中的每个关键字对应的文章存放在 keyword:* 中,则可以用关键字连接查询 ZINTERSTORE 找到文章ID列表。
有时侯,我们可能在构建索引时不影响原有索引的权重值,以此来保留每个关键字最初添加时的时间(权重分数)。以此来统计某个时间段添加此关键字的文章。


 近期热门 - 点击最多
  1. ZOT 极简而强大的 Docker OCI 镜像仓库
  2. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Node.js 打印vite react+go项目目录树
  5. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  6. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  7. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  8. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  9. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  10. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别

  全端社区 - 最新回复
  1. 本地与云 MQTT通信:消息格式定义与配置
  2. MQTT 桥接(Bridging)介绍:解决弱网可靠传输、断网续传
  3. Mosquitto消息中间件简介与部署:本地MQTT服务器部署
  4. MediaMTX 摄像头部署与配置教程
  5. 在网页上播放摄像头RTSP视频流:实时摄像头在线播放的几种架构
  6. 让Docker在Gitea CI/CD流水线中登录http仓库:手写Docker认证信息
  7. ZOT 极简而强大的 Docker OCI 镜像仓库
  8. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  9. 在无管理员权限的情况下,使用安装Python补全pip临时配置环境变量;即零权限使用node.js/npm
  10. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中

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

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

OnceOA