計數 - 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