ホームページ ウェブフロントエンド jsチュートリアル JavaScriptの構成の実装(BOMとDOMの詳細な解釈)

JavaScriptの構成の実装(BOMとDOMの詳細な解釈)

May 21, 2018 pm 01:52 PM
javascript js 解釈

それではJavaScriptの実装方法(BOMとDOMの詳しい解釈)についての記事をお届けします。今、それをあなたに共有し、参考として提供します。

完全な JavaScript 実装は、ECMAScript (コア)、BOM (ブラウザ オブジェクト モデル)、DOM (ドキュメント オブジェクト モデル) の 3 つの部分で構成される必要があることがわかっています。

BOM:

BOM は、ブラウザー機能にアクセスするための多くのオブジェクトを提供します。これらの機能は Web ページのコンテンツとは何の関係もありません (これらは DOM の問題です)。現在、BOM は W3C によって HTML5 仕様に移行されています。

window オブジェクト:

BOM のコアは、ブラウザのインス​​タンスを表します。これは、JavaScript を通じてブラウザ ウィンドウにアクセスするためのインターフェイスと、ECMAScript によって指定されたグローバル オブジェクト (Web ページのオブジェクトで定義されたオブジェクトを意味します) の両方です。 、変数と関数は Global オブジェクトとして window を持っているため、paresinInt() などのメソッドにアクセスできます。 (ハイトスリーより抜粋)。さらに、Web ページにフレームが含まれている場合、各フレームは独自のウィンドウ オブジェクトを持ち、フレーム コレクション (インデックス 0、ltr、ttb から始まる) に格納されます。

まず、グローバル実行環境の変数と関数はすべてウィンドウオブジェクトの属性とメソッドです。もちろん、グローバル変数と直接定義されたウィンドウ プロパティ タイプの間には若干の違いがあります。グローバル変数 (正確には、明示的に宣言されたグローバル変数) は削除できませんが、ウィンドウ プロパティは削除できます。さらに、宣言されていない変数にアクセスしようとするとエラーが発生しますが、クエリ ウィンドウ オブジェクトの使用には問題ありません。

では、window の共通のプロパティやメソッドは何でしょうか?

1.name、各ウィンドウ オブジェクトには、フレームの名前を含む name 属性があります。通常は、ウィンドウの関係とフレームを理解するために使用されます。

2. ウィンドウ位置メソッド: moveTo (新しい位置の x 座標、新しい位置の y 座標)、moveBy (x を水平に移動、y を垂直に移動)。これら 2 つの方法はフレームワークには適用できません。

3. ウィンドウ サイズ属性: innerWidth/Height (ビュー領域のサイズ (境界線の幅を差し引いた)/* IE、Safari、Firefox */)、outerWidth/Height (ブラウザ ウィンドウのサイズを返します/*IE 、Safari、Firefox */)、Chrome では、inner と external の両方がビュー領域のサイズを返します。

もちろん、resizeTo (新しいウィンドウの幅、新しいウィンドウの高さ)、resizeBy (元の幅より x を増加、元の高さより y を増加) を通じてウィンドウ サイズを変更できます。このラブソングの手法はフレーム構造には適用されません。

4.window.open(URL, ウィンドウターゲット, 属性文字列, 新しいページがブラウザ履歴に現在ロードされているページを置き換えるかどうかのブール値) は、特定の URL に移動するか、新しいウィンドウを開くために使用されます。ウィンドウ ターゲットが指定され、そのウィンドウ ターゲットが既存のウィンドウまたはフレームの名前である場合、指定された URL は名前が変更されたウィンドウまたはフレームにロードされます。それ以外の場合、開く新しいウィンドウにはターゲット ウィンドウという名前が付けられます。もちろん、ウィンドウターゲットに指定できるキーワードには、_self、_parent、_top、_blank があります。

<a href=http://www.jb51.net>click me</a>
    <script>
    var link=document.getElementsByTagName("a")[0];
      alert(link.nodeName);   
     window.onload=function(){
      
      link.onclick=function () {
        window.open(link.href,"good","width=400px,height=300px");
        return false;
    
      }  
    }
  </script
ログイン後にコピー

ここでは特性文字列の具体的な設定については詳しく説明しません。興味がある場合は、ここをクリックしてください

5. js では、シングルスレッド言語として、タイムアウト値を設定できます (コードは次のとおりです)。指定されたイベントの後に実行される) と間隔時間値 (指定された時間ごとにループされる) を使用して、特定の瞬間にコードの実行をスケジュールします。

タイムアウト呼び出し: setTimeout (js コード文字列、ミリ秒時間) シングルスレッド言語として、js タスク キューは一度に 1 つのコードのみを実行できます。設定された時間間隔後にタスク キューが空になると、コード文字列が実行されます。それ以外の場合は、前のコードが実行されるまで待ってから実行します。

var al=setTimeout(function () {
      alert("good");
    },5000);
    alert(al); //2
ログイン後にコピー

ここでは、5 秒後に良好な結果を出力するように匿名関数を呼び出しました。ウィンドウに警告ボックスがポップアップ表示され、2 が表示されます。 setTimeout() 関数が固有の数値 ID を返していることがわかります。この ID を使用してタイムアウト呼び出しをクリアできます。clearTimeout(ID) を使用してクリアできます。

間接呼び出し: setInterval()。setTimeout() と同じパラメータを受け取り、数値 ID も返します。これは、clearTimeout() を使用してクリアできます。

6. システムダイアログメソッド:alert()、confirm()、prompt() など。 以前のブログで書きました。ここをクリックしてください。

location オブジェクト

は、BOM 内のオブジェクトではありません。 Location は window オブジェクトの属性であると言われていますが、これは後で説明する DOM の document オブジェクトの属性でもあります。つまり、window.location と document.location は同じオブジェクトを参照します。

Location オブジェクトの属性リスト。これらの属性を変更すると、新しいページがロードされ、履歴に新しいレコードが生成されます。 location.replace() を使用しても、履歴に新しいレコードは生成されません。

portプロトコルsearch
hash "#contents" URLにハッシュを返します。""
host "はありません サーバー名とポート番号 (利用可能な場合) を返します
hostname "www.google.com" ポート番号なしでサーバー名を返します
href 「www.google.com " 現在のページの完全なURLを返します。ディレクトリ名
"8080" ポート番号を返します。そうでない場合は空の文字列を返します
「http:」 ページで使用されているプロトコルに戻る
"?=javascript" 疑問符で始まるクエリ文字列を返します

navigator オブジェクト: ブラウザーを識別するための事実上の標準。そのプロパティとメソッドは主にブラウザーの種類を検出するために使用されます。

残りの履歴オブジェクト (履歴記録の保存) や画面オブジェクト (クライアントの機能を示す) などは、js でのプログラミングには役に立たないため、詳細は説明しません。

------------------------------------------------ ----------------------------------

DOM:

DOM は XML に基づいており、 HTML API 用に拡張された DOM はノード ツリーの展開に依存します。

まず、ドキュメント ノードが各ノードのルート ノードであることを明確にする必要があります。ドキュメント ノードには、要素 html (ドキュメント要素) という子ノードが 1 つだけあります。

ノード タイプ:

すべての DOM ノード タイプ (テキスト ノード、属性ノード、要素ノード) によって実装される DOM1 のインターフェイス。このインターフェイスは、Node タイプとして js に実装されます。

nodeType 属性。すべてのノードが所有します。要素 - 1、属性 - 2、テキスト - 3...

nodeName 属性の 12 個の数値で表されます。要素ノードの場合、nodeName の値はラベル名です。

nodeValue 属性、要素ノードの場合、nodeValue の値は null です。

ノード関係: 各ノードは childNodes 属性を持ち、NodeList (配列状のオブジェクト) オブジェクトを保存します。各ノードには、親ノードを指すparentNode属性があります。 childNode 内のノードは同じparentNode を持ちます。兄弟ノードには、previousSibling プロパティと nextSibling プロパティを使用してアクセスできます。同時に、childNodes[0]==firstChild, childNodes[childNodes.length-1]==lastChild.

操作ノード:appendChild()により、ノードをNodeListの末尾にプッシュし、新しく追加されたノードを返します。 insertBefore() は、ノードを NodeList の先頭に移動し、新しく追加されたノードを返します。 replaceChild(newChild,targetChild) は、ターゲット ノードを置き換えます。元のノードはドキュメント内にありますが、位置がありません。 RemoveChild(tragetChild) はノードを削除し、replaceChild() と同様の効果があります。 cloneChild(boolean)、true は完全なコピー (ノード全体とサブノード) を意味し、false は基本コピーを意味します。

Document タイプ:

はドキュメントを表します。 document オブジェクトは HTMLDDocument (Document タイプから継承) のインスタンスであり、HTML ページ全体を表します。同時に、ドキュメント オブジェクトはウィンドウ オブジェクトのプロパティでもあるため、グローバル オブジェクトとしてアクセスできます。 document.firstChild==html. document.body==body. document.doctype---> への参照。 document.title--->title document.url--->location.url.

要素の検索: getElementById()、getElementsByTagName()、getElementsByClassName().

ドキュメントの書き込み: write()、writeln( ) 、open()、close()

要素の型:

getAttribute()、クラスの場合は、classNameの代わりに「class」を使用します。element.classNameを使用すると、クラスの属性を取得できます。

setAttribute()、属性を設定し、属性が存在する場合はそれを置き換えます。それ以外の場合は、作成します。

removeAttribute()、要素の属性を完全に削除します。

createElement()、新しい要素を作成します。

テキスト タイプ:

createTextNode()、テキスト ノードを作成します。2 つのテキスト ノードが隣接する兄弟ノードである場合、2 つのテキストはスペースなしで接続されます。

上記は私があなたのためにまとめたものです。

関連記事:

JavaScriptの基本仕様

JavaScriptの基本的な使い方

p5.js_javascriptで花火の特殊効果を作成するサンプルコードTips

以上がJavaScriptの構成の実装(BOMとDOMの詳細な解釈)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます 株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます Dec 17, 2023 pm 06:55 PM

株式分析に必須のツール: PHP および JS でローソク足チャートを描画する手順を学びます。特定のコード例が必要です。インターネットとテクノロジーの急速な発展に伴い、株式取引は多くの投資家にとって重要な方法の 1 つになりました。株価分析は投資家の意思決定の重要な部分であり、ローソク足チャートはテクニカル分析で広く使用されています。 PHP と JS を使用してローソク足チャートを描画する方法を学ぶと、投資家がより適切な意思決定を行うのに役立つ、より直感的な情報が得られます。ローソク足チャートとは、株価をローソク足の形で表示するテクニカルチャートです。株価を示しています

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

Win11システムでファイルのサフィックスを表示するにはどうすればよいですか?詳細な解釈 Win11システムでファイルのサフィックスを表示するにはどうすればよいですか?詳細な解釈 Mar 09, 2024 am 08:24 AM

Win11システムでファイルのサフィックスを表示するにはどうすればよいですか?詳細説明: Windows 11 オペレーティング システムでは、ファイル拡張子はファイル名の後のドットとその後の文字を指し、ファイルの種類を示すために使用されます。デフォルトでは、Windows 11 システムはファイルのサフィックスを非表示にするため、ファイル エクスプローラーではファイル名のみが表示され、ファイルの種類を直感的に理解することはできません。ただし、一部のユーザーにとっては、ファイルの種類をより適切に識別し、関連する操作を実行するのに役立つため、ファイル接尾辞の表示が必要です。

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする Dec 18, 2023 pm 03:39 PM

インターネット金融の急速な発展に伴い、株式投資を選択する人がますます増えています。株式取引では、ローソク足チャートは一般的に使用されるテクニカル分析手法であり、株価の変化傾向を示し、投資家がより正確な意思決定を行うのに役立ちます。この記事では、PHP と JS の開発スキルを紹介し、株価ローソク足チャートの描画方法を読者に理解してもらい、具体的なコード例を示します。 1. 株のローソク足チャートを理解する 株のローソク足チャートの描き方を紹介する前に、まずローソク足チャートとは何かを理解する必要があります。ローソク足チャートは日本人が開発した

あなたのコンピュータ上の Cookie データはどのフォルダにありますか?詳細な解釈 あなたのコンピュータ上の Cookie データはどのフォルダにありますか?詳細な解釈 Jan 19, 2024 am 10:19 AM

インターネットの継続的な発展に伴い、人々はますますブラウザーと切り離せないものになってきています。ブラウザでは、誰もが多かれ少なかれ Cookie を使用します。しかし、Cookieデータがどのフォルダーにあるのか知らない人も多いので、今回は詳しく説明しましょう。まず、Cookie とは何かを理解する必要があります。簡単に言えば、Cookie はブラウザによって保存されるテキスト情報であり、ユーザーの個人設定の一部をブラウザに保存したり、ユーザーの操作履歴を記録したりするために使用されます。ユーザーが同じ Web サイトを再度開くと、c

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

jsとvueの関係 jsとvueの関係 Mar 11, 2024 pm 05:21 PM

js と vue の関係: 1. Web 開発の基礎としての JS、2. フロントエンド フレームワークとしての Vue.js の台頭、3. JS と Vue の補完関係、4. JS と Vue の実用化ビュー。

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

See all articles