计数 - console.count()
console.count([obj])
将一个计数器放在作为参数提供的对象的值上。每次调用此方法时,计数器都会增加(空字符串''
除外)。调试控制台中将根据以下格式显示标签和数字:
[label]: X
label
表示作为参数传递的对象的值,X
表示计数器的值。
始终考虑对象的值,即使变量是作为参数提供的:
var o1 = 1, o2 = '2', o3 = "";
console.count(o1);
console.count(o2);
console.count(o3);
console.count(1);
console.count('2');
console.count('');
显示:
1: 1
2: 1
: 1
1: 2
2: 2
: 1
带数字的字符串将转换为 Number
对象:
console.count(42.3);
console.count(Number('42.3'));
console.count('42.3');
显示:
42.3: 1
42.3: 2
42.3: 3
函数始终指向全局 Function
对象:
console.count(console.constructor);
console.count(function(){});
console.count(Object);
var fn1 = function myfn(){};
console.count(fn1);
console.count(Number);
显示:
[object Function]: 1
[object Function]: 2
[object Function]: 3
[object Function]: 4
[object Function]: 5
某些对象获取与其引用的对象类型相关联的特定计数器:
console.count(undefined);
console.count(document.Batman);
var obj;
console.count(obj);
console.count(Number(undefined));
console.count(NaN);
console.count(NaN+3);
console.count(1/0);
console.count(String(1/0));
console.count(window);
console.count(document);
console.count(console);
console.count(console.__proto__);
console.count(console.constructor.prototype);
console.count(console.__proto__.constructor.prototype);
console.count(Object.getPrototypeOf(console));
console.count(null);
显示:
undefined: 1
undefined: 2
undefined: 3
NaN: 1
NaN: 2
NaN: 3
Infinity: 1
Infinity: 2
[object Window]: 1
[object HTMLDocument]: 1
[object Object]: 1
[object Object]: 2
[object Object]: 3
[object Object]: 4
[object Object]: 5
null: 1
空字符串或缺少参数
如果在调试控制台中顺序输入 count 方法时没有提供参数,则假定空字符串为参数,即:
> console.count();
: 1
> console.count('');
: 2
> console.count("");
: 3