判断是否为对象typeof abc == 'object' 与 instanceof 性能比较
by ourjs keys JS学习 JavaScript 1555041449637
我们通常使用 typeof obj == 'object' 来判断变量是否为对象。但也可通过 obj instanceof Object 来判断,那么二者的性能如何?

我们写一个简单的测试用例,分别试100万次,结果使用 instance 比 typeof 快近10倍。
配置TinyMCE网页文本编辑器不显示html head body等标签信息
by ourjs keys JS学习 前端 1553172699955
TinyMCE是一个非常优秀的HTML网页文本编辑器,可以完美地跟input结合。其中监听editor的事件可以让文本有改动时,立即存储到对应的form表单元素中
不过默认配置获取的结果是带HTML/head/body等标签的,如果只想要你编辑部分的HTML代码可将 fullpage 插掉去掉即可。
node.js中将console.log日志内容输出到文件
by ourjs keys JS学习 Node.JS 1547135473854
node.js在运行时,有时需要将console.log的内容打印输出到文件来调试。可以用以下方法。
Linux中可以在启动添加:

node script-file.js > log-file.txt
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 1542095783270
有非常多的方法来清空一个已经存在的数组,这种方法会返回删除的所有元素,并形一个新的数组,不过对性能没有影响,并将保持对数组的引用。

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

[1,2,3].forEach(function(item) {
    // if(!item) break; 不支持
});
用JavaScript往select元素中添加new option下拉选项
by ourjs keys JS学习 JavaScript 1541929564593
jQuery更简洁的写法:

$('#mySelect').append($("<option/>", {
    value: key,
    text: value
}));

 近期热门 - 点击最多
  1. Html5网页中用JavaScript调用本地手机摄像头扫描识别微信二维码、条形码:postMessage跨域https传递扫码结果消息
  2. JavaScript设置对象属性只读不可修改、不可枚举、不可删除:Object.defineProperty
  3. CSS教程:图片使用混合模式和颜色叠加filter滤镜,改变PNG图标颜色
  4. CSS教程:如何设置自动显示隐藏scrollbar滚动条,自定义外观样式/宽度,附demo示例大全
  5. node.js通过Error.prepareStackTrace获取上层调用函数的文件名地址和行数位置
  6. JavaScript判断字符串是否为数字类型:Number.isInteger、isNaN、正则表达式比较
  7. webpack前端项目调试环境安装入门:webpack.config.js禁用UglifyJs只合并JavaScript不压缩混淆代码
  8. node.js创建aria2代理服务器:使用net.socket转发rpc或http request请求,替换websocket
  9. request停止维护:用node.js实现http网页爬虫抓取,模拟ajax\post请求,大文件上传下载
  10. 用node.js在Windows或Linux平台上高性能解压/压缩zip、tar大文件,输出到文件或Stream流

  全端社区 - 最新回复
  1. Html5网页中用JavaScript调用本地手机摄像头扫描识别微信二维码、条形码:postMessage跨域https传递扫码结果消息
  2. JavaScript设置对象属性只读不可修改、不可枚举、不可删除:Object.defineProperty
  3. CSS教程:图片使用混合模式和颜色叠加filter滤镜,改变PNG图标颜色
  4. CSS教程:如何设置自动显示隐藏scrollbar滚动条,自定义外观样式/宽度,附demo示例大全
  5. node.js通过Error.prepareStackTrace获取上层调用函数的文件名地址和行数位置
  6. JavaScript判断字符串是否为数字类型:Number.isInteger、isNaN、正则表达式比较
  7. 小程序未来肯定会朝着这些方面发展,企业必须做好!
  8. Debian/Ubuntu Linux搭建SVN服务器,并设置开机默认启动
  9. 小程序跳转功能,带来的多个改变!
  10. WeMall用Node.js语言开发的单用户商城(微信端)商城源码

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

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

OnceOA