JavaScriptで関数の実行回数をカウントするにはどうすればよいですか? (詳しい説明)
この記事の内容は、JavaScriptで関数の実行回数をカウントする方法についてです。 (詳細な説明)は、必要な友人が参考にできることを願っています。
1. 関数の実行数をカウントする
従来の方法では、console.log の出力を使用して、肉眼で出力の数を計算することができます
しかし、Chrome には、文字列が出力された回数をカウントできる組み込みの console.count メソッドがあります。これを使用して、関数の実行回数を間接的にカウントすることができます
function someFunction() { console.count('some 已经执行'); } function otherFunction() { console.count('other 已经执行'); } someFunction(); // some 已经执行: 1 someFunction(); // some 已经执行: 2 otherFunction(); // other 已经执行: 1 console.count(); // default: 1 console.count(); // default: 2
パラメータを指定しないと、これがデフォルト値になります。それ以外の場合は、文字列の実行回数が出力されるため、観察するのに非常に便利です
もちろん、回数を出力するだけでなく、純粋な回数も取得したい場合は、関数をデコレータでラップし、オブジェクトを使用して呼び出し回数を内部的に保存することができます
var getFunCallTimes = (function() { // 装饰器,在当前函数执行前先执行另一个函数 function decoratorBefore(fn, beforeFn) { return function() { var ret = beforeFn.apply(this, arguments); // 在前一个函数中判断,不需要执行当前函数 if (ret !== false) { fn.apply(this, arguments); } }; } // 执行次数 var funTimes = {}; // 给fun添加装饰器,fun执行前将进行计数累加 return function(fun, funName) { // 存储的key值 funName = funName || fun; // 不重复绑定,有则返回 if (funTimes[funName]) { return funTimes[funName]; } // 绑定 funTimes[funName] = decoratorBefore(fun, function() { // 计数累加 funTimes[funName].callTimes++; console.log('count', funTimes[funName].callTimes); }); // 定义函数的值为计数值(初始化) funTimes[funName].callTimes = 0; return funTimes[funName]; } })(); function someFunction() { } function otherFunction() { } someFunction = getFunCallTimes(someFunction, 'someFunction'); someFunction(); // count 1 someFunction(); // count 2 someFunction(); // count 3 someFunction(); // count 4 console.log(someFunction.callTimes); // 4 otherFunction = getFunCallTimes(otherFunction); otherFunction(); // count 1 console.log(otherFunction.callTimes); // 1 otherFunction(); // count 2 console.log(otherFunction.callTimes); // 2
関数呼び出しの数を制御する方法
クロージャを使用して関数の実行数を制御することもできます
function someFunction() { console.log(1); } function otherFunction() { console.log(2); } function setFunCallMaxTimes(fun, times, nextFun) { return function() { if (times-- > 0) { // 执行函数 return fun.apply(this, arguments); } else if (nextFun && typeof nextFun === 'function') { // 执行下一个函数 return nextFun.apply(this, arguments); } }; } var fun = setFunCallMaxTimes(someFunction, 3, otherFunction); fun(); // 1 fun(); // 1 fun(); // 1 fun(); // 2 fun(); // 2
以上がJavaScriptで関数の実行回数をカウントするにはどうすればよいですか? (詳しい説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。
