判断是否为对象typeof abc == 'object' 与 instanceof 性能比较 我们通常使用 typeof obj == 'object' 来判断变量是否为对象。但也可通过 obj instanceof Object 来判断,那么二者的性能如何?
我们写一个简单的测试用例,分别试100万次,结果使用 instance 比 typeof 快近10倍。
配置TinyMCE网页文本编辑器不显示html head body等标签信息 TinyMCE是一个非常优秀的HTML网页文本编辑器,可以完美地跟input结合。其中监听editor的事件可以让文本有改动时,立即存储到对应的form表单元素中
不过默认配置获取的结果是带HTML/head/body等标签的,如果只想要你编辑部分的HTML代码可将 fullpage 插掉去掉即可。
node.js中将console.log日志内容输出到文件 node.js在运行时,有时需要将console.log的内容打印输出到文件来调试。可以用以下方法。
Linux中可以在启动添加:
node script-file.js > log-file.txt
typeof判断参数是否为undefined与全等判断法性能比较 通过我们使用 typeof 来判断参数是不是未定义,比如 typeof abc == 'undefined',但也可通过全等式判断,如 abc === undefined,那么二者的性能如何?
我们写一个简单的测试用例,分别试100万次。
C语言用指针模拟按引用传递int整型参数 C语言不支持类似c++的按引用传参的语法,比如下面的代码,只能在c++中工作:
void f(int &j) {
j++;
}
int main() {
int i = 20;
f(i);
printf("i = %d\n", i);
return 0;
}
JavaScript无引用复制一个Array数组的每一个元素到另一个数组 如果目标数组不存在,可使用 slice/ concat 复制
var destinationArray = sourceArray.slice();
var destinationArray = sourceArray.concat();
如果目标数组存在,且想保持引用,可使用 push
destinationArray.push.apply(destinationArray, sourceArray);
JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用 有非常多的方法来清空一个已经存在的数组,这种方法会返回删除的所有元素,并形一个新的数组,不过对性能没有影响,并将保持对数组的引用。
var arr = [1,2,3,4];
arr.splice(0, arr.length)
JavaScript使用类似break机制中断forEach循环 JavaScript数组对象,有一个forEach方法,可枚举每一个数组元素,但并不支持类似for循环的break语法,中断循环:
[1,2,3].forEach(function(item) {
// if(!item) break; 不支持
});
用jQuery将JavaScript对象转换为querystring查询字符串 在get方式的参数传递中,常常需要将JavaScript对象,转换成查询字符串,比如:
{ method: 'get', state: '200' }
会转换成
?method=get&state=200