Zeptoソースコードを読む:属性操作

DOM操作に関連する内部メソッド setAttributeメソッド function setAttribute(node, name, value) { if (value === null) { node.removeAttribute(name); } else { node.setAttribute(name, value); } } この関数は属性の設定と削除を担います。値がnullの場合にはremoveAttributeを呼び出し、それ以外はsetAttributeを使用します。 deserializeVal ...

8月15日 17:42 投稿

Zeptoにおけるオブジェクト拡張機能の実装

型判定の実装 const typeMapping = {}; const typeString = typeMapping.toString; const Z = {}; function getType(value) { return value == null ? String(value) : typeMapping[typeString.call(value)] || "object"; } function checkObject(value) { return getType(value) == "object"; } function checkPlainObject(value) { return checkObject(value) & ...

8月14日 08:04 投稿

Zeptoソースコード解析:ユーティリティ関数編

Zeptoは豊富なユーティリティ関数を提供しており、以下でそれぞれの実装を解説します。 ソースコードのバージョン 本記事で参照しているソースコードはzepto1.2.0です。 $.extend $.extendメソッドは対象オブジェクトのプロパティを拡張するために使用されます。対象オブジェクトの同名プロパティは、ソースオブジェクトのプロパティによって上書きされます。 $.extendは内 ...

8月2日 09:17 投稿

Zeptoソースコードを読む:DOM操作

この記事は依然として dom 関連のメソッドについて扱い、主に dom を操作するメソッドを重点的に紹介します。 Zeptoソースコードを読むシリーズはGitHub上で公開されていますので、ご興味のある方はぜひStarをお願いします:reading-zepto ソースコードのバージョン 本記事で読んだソースコードは zepto1.2.0 です。 remove remove: function() { return this.each(funct ...

7月1日 22:49 投稿

ZeptoのCallbacksモジュール実装の核心技術

ZeptoのCallbacksモジュールは、Deferredオブジェクトの基盤となるコールバック管理機構を提供します。このモジュールは非同期処理の柔軟な制御を可能にし、AjaxモジュールのPromiseスタイル実装を支えています。以下、その内部仕組みを詳細に解説します。 CallbacksモジュールはZeptoオブジェクトに追加されるファクトリ関数で、オプション設定によりコールバック管理オ ...

6月4日 17:10 投稿

Zeptoのスタイル操作メソッドを深掘り

この記事では、DOM要素に対するCSSクラスやスタイルプロパティの操作に焦点を当てて解説します。 キャッシュ付き正規表現生成器 const patternCache = {} function buildClassPattern(className) { return patternCache[className] || (patternCache[className] = new RegExp('(^|\\s)' + className + '(\\s|$)')) } 指定されたクラス名を含むかどうかを判定する正 ...

5月25日 05:09 投稿