javascript - 這兩種自訂事件的綁定方式有什麼不同?哪種好?
第一種方式,直接將自訂事件存放在__onfireEvents中
<code>var __onfireEvents = {}; function _bind(eventName, callback, is_one, context) { if (typeof eventName !== string_str || typeof callback !== function_str) { throw new Error('args: '+string_str+', '+function_str+''); } if (! hasOwnKey(__onfireEvents, eventName)) { __onfireEvents[eventName] = {}; } __onfireEvents[eventName][++__cnt] = [callback, is_one, context]; return [eventName, __cnt]; } function on(eventName, callback, context) { return _bind(eventName, callback, 0, context); } </code>
第二種方式,同樣是將自訂事件儲存起來,不同之處是綁定在元素上,是否有必要?這裡有什麼優勢嗎?
<code>$customSubMap = {}; subscribeEvent = function ( $collection, event_name, fn ) { $collection.on( event_name, fn ); if ( ! $customSubMap[ event_name ] ) { $customSubMap[ event_name ] = $collection; } else { $customSubMap[ event_name ] = $customSubMap[ event_name ].add( $collection ); } };</code>
回覆內容:
第一種方式,直接將自訂事件存放在__onfireEvents中
<code>var __onfireEvents = {}; function _bind(eventName, callback, is_one, context) { if (typeof eventName !== string_str || typeof callback !== function_str) { throw new Error('args: '+string_str+', '+function_str+''); } if (! hasOwnKey(__onfireEvents, eventName)) { __onfireEvents[eventName] = {}; } __onfireEvents[eventName][++__cnt] = [callback, is_one, context]; return [eventName, __cnt]; } function on(eventName, callback, context) { return _bind(eventName, callback, 0, context); } </code>
第二種方式,同樣是將自訂事件儲存起來,不同之處是綁定在元素上,是否有必要?這裡有什麼優勢嗎?
<code>$customSubMap = {}; subscribeEvent = function ( $collection, event_name, fn ) { $collection.on( event_name, fn ); if ( ! $customSubMap[ event_name ] ) { $customSubMap[ event_name ] = $collection; } else { $customSubMap[ event_name ] = $customSubMap[ event_name ].add( $collection ); } };</code>
看起來第二種可讀性好一點。
其實我覺得兩者本質上沒差別,就像產品與分類的關係,可以說 {Product1:[Category1, Category2]}也可以說{Category1: [Product1, Product2]}
個人感覺第二個

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

PHP仍然流行的原因是其易用性、靈活性和強大的生態系統。 1)易用性和簡單語法使其成為初學者的首選。 2)與web開發緊密結合,處理HTTP請求和數據庫交互出色。 3)龐大的生態系統提供了豐富的工具和庫。 4)活躍的社區和開源性質使其適應新需求和技術趨勢。

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。
