ホームページ ウェブフロントエンド jsチュートリアル JavaScript タイマーと DOM ドキュメントの完全な概要

JavaScript タイマーと DOM ドキュメントの完全な概要

May 21, 2018 pm 02:33 PM
document javascript タイマー

JavaScript を学習する過程で、タイマーや dom などの多くの問題に遭遇します。この記事では、関連する問題について詳しく説明します。

JavaScriptには、2種類のタイマーがあり、1つはsetTimeout()、もう1つはsetTimeout()です

setTimeout()

setTimeout関数は、何秒後に関数または特定のコード部分を指定するために使用されます。ミリ秒を実装します。タイマー番号を表す整数を返します。これは後でタイマーをキャンセルするために使用できます。
var timerId = setTimeout(func|code, late)

上記のコードでは、setTimeout 関数は 2 つのパラメーターを受け取ります。最初のパラメーター func|code は遅延する関数またはコードの名前で、2 番目のパラメーターは遅延させます。パラメータの遅延は、実行する遅延時間をミリ秒単位で指定します。

エンジンは内部で eval 関数を使用して文字列をコードに変換するため、実行を延期するコードは文字列の形式で setTimeout に入れる必要があることに注意してください。
延期された実行が関数の場合、setTimeoutに関数名を直接入れることができます。一方では eval 関数にはセキュリティ上の懸念があり、他方では JavaScript エンジンによるコードの最適化を容易にするために、通常、setTimeout メソッドは以下に示すように関数名の形式をとります。

function f(){  console.log(2);}setTimeout(f,1000);// 或者setTimeout(function (){console.log(2)},1000);
setInterval()
setInterval函数的用法与setTimeout完全一致,区别仅仅在于setInterval指定某个任务每隔一段时间就执行一次,也就是无限次的定时执行。
clearTimeout(),clearInterval()
ログイン後にコピー
setTimeout和setInterval函数,都返回一个表示计数器编号的整数值,将该整数传入clearTimeout和clearInterval函数,就可以取消对应的定时器。
var id1 = setTimeout(f,1000);var id2 = setInterval(f,1000);
ログイン後にコピー
clearTimeout(id1);
clearInterval(id2);
ログイン後にコピー
setTimeout和setInterval返回的整数值是连续的,也就是说,第二个setTimeout方法返回的整数值,将比第一个的整数值大1。利用这一点,可以写一个函数,取消当前所有的setTimeout。
ログイン後にコピー
(function() {  var gid = setInterval(clearAllTimeouts, 0);  function clearAllTimeouts() {    var id = setTimeout(function() {}, 0);    while (id > 0) {      if (id !== gid) {
        clearTimeout(id);
      }
      id--;
    }
  }
})();```
ログイン後にコピー

上記のコードを実行すると、setTimeout 設定は実際には無効になります。 ###setTimeout と setInterval の動作メカニズムは次のとおりです。 1. 指定されたコードをこの実行から移動し、イベント ループの次のラウンドまで待機し、指定された時間が到着したかどうかを確認します。 2. 到着した場合は、対応するコードを実行します。到着しない場合は、イベント ループの次のラウンドまで待機して再判断します。

これは、今回実行されるコードがすべて実行されるまで、setTimeoutで指定されたコードは実行されないことを意味します。

setTimeout の機能は、指定された時刻までコードの実行を延期することです。つまり、setTimeout(f,0) の場合、コードはすぐには実行されません。 ) は 2 番目のパラメータを 0 に設定します。この関数は、既存のタスク (スクリプトの同期タスクと「タスク キュー」内の既存のイベント) が終了するとすぐに f を実行できるようにします。つまり、setTimeout(f,0) の機能は、指定されたタスクをできるだけ早く実行することです。 #DOM>以前は基本的に js の構文について話していましたが、現在は html と js を組み合わせています。
ドキュメント オブジェクト モデル (DOM) は、HTML および XML ドキュメントのプログラミング インターフェイスです。これは、ドキュメントの構造化された表現 (構造ツリー) を提供し、プログラムが構造ツリーにアクセスしてドキュメントの構造、スタイル、コンテンツを変更できる方法を定義します。

DOM は、プロパティとメソッドを含むノードとオブジェクトの構造化されたグループとしてドキュメントを表す方法を提供します。基本的に、Web ページをスクリプトまたはプログラミング言語に接続します。
![](http://upload-images.jianshu.io/upload_images/961879-30d442b188b865e3.gif?imageMogr2/auto-orient/strip) ページ上で何かを変更するには、JavaScript は HTML 内のすべての情報を取得する必要がありますdocument 要素によるアクセスのエントリ ポイント。このエントリは、HTML 要素を追加、移動、変更、または削除するためのメソッドおよび属性とともに、すべて DOM を通じて取得されます。 ##Document オブジェクト* ブラウザーに読み込まれる各 HTML ドキュメントは、ドキュメント オブジェクトになります。ドキュメント オブジェクトにはドキュメントの基本情報が含まれており、JavaScript を通じて HTML ページ内のすべての要素にアクセスして変更できます。 ####ドキュメント オブジェクトの一般的に使用される属性 ドキュメント オブジェクトには、ドキュメント情報を記述するための多くの属性があります。ここでは、一般的に使用される属性をいくつか紹介します
* ####doctype HTML ドキュメントを記述するとき、最初の文は通常 doctype ステートメントです。ドキュメント オブジェクトを通じて取得できます。そうでない場合は、 null`document.doctype; // document.doctype.name; // "html"`* ####head、body`document .head;`
`document.body; `
これら 2 つのプロパティを通じてドキュメントのヘッド ノードとボディ ノードをそれぞれ取得する方法
* ####activeElement activeElement プロパティは、現在のドキュメントでフォーカスを受け取った要素を返します。
ユーザーは通常、タブ キーを使用してフォーカスを移動し、スペース バーを使用してフォーカスをアクティブにすることができます。たとえば、フォーカスがリンクにある場合、スペース バーを押すとリンクにジャンプします

* ####documentURI, Domain、lastModifieddocumentURI プロパティは現在のドキュメントの URL を返します
domain プロパティはドキュメントのドメイン名を返します
lastModified は現在のドキュメントの最終変更時刻を返します

* location
location プロパティは URL を提供する読み取り専用オブジェクトを返します現在のドキュメントの情報

// 現在の URL が
http://user:passwd@www.example.com:4097/path/a.html?x=111#part1
document.location.href // "http://ユーザー: passwd@www.example.com:4097/path/a.html?x=111#part1"
document.location.protocol // "http:"document.location.host // "www.example.com: 4097"
document.location.hostname // "www.example.com"
document.location.port // "4097"
document.location.pathname // "/path/a.html"document.location.search / / " ?x=111"
document.location.hash // "#part1"
document.location.user // "user"
document.location.password // "passed"
// 別のURL
documentにジャンプします.location.assign('http://www.google.com')
// サーバーからの再読み込みを優先します
document.location.reload(true)
// ローカル キャッシュ (デフォルト値)
document からの再読み込みを優先します。 location.reload(false)
// 別の URL にジャンプしますが、現在のドキュメントは履歴オブジェクトに保持されません
// つまり、戻るボタンを使用して現在のドキュメントに戻ることはできません
document.location.assign ('http:// /www.google.com')// location オブジェクトを文字列に変換します。これは document.location.href
document.location.toString()```

と同等のオブジェクトが返されますが、 location 属性は読み取り専用ですが、この属性に URL を割り当てることができ、Web ページは指定された URL に自動的にジャンプします。
document.location = 'http://www.example.com';// document.location.href = 'http://www.example.com';と同等;

title,characterSet

title属性 return現在のドキュメントのタイトル、このプロパティは書き込み可能です
characterSet プロパティは、現在のドキュメントのレンダリングに使用される文字セットを返します

readyState

readyState プロパティは、現在のドキュメントの状態を返します、可能な値は 3 つあります
loading: HTML の読み込みコードフェーズ、まだ完了していません 解析中
interactive: 外部リソースのロードフェーズ
complete: すべてのロードが完了しました

#######compatMode
compatMode 属性は、ブラウザがドキュメントを処理するモードを返します。可能な値は次のとおりです。
BackCompat: 下位互換性モード、つまりなし DOCTYPE
CSS1Compat: 厳密モード、追加 DOCTYPE

#######cookie
cookie はクライアントに保存されるテキストであり、後ほどクライアント ストレージの章で紹介します

innerText

innerText は、要素に含まれるテキスト コンテンツを返します。

456

< ;/div>
外側の div の innerText の戻り値は「123456」です

innerHTML、outerHTML

innerHTML 属性は innerText と似ていますが、代わりに要素のテキストコンテンツを返すと、要素の HTML 構造も返されます。

123 /p>


外側の div の innerHTML の戻りコンテンツは「

123456

」です
outerHTML の戻りコンテンツにはそれ自体も含まれます

### ####ドキュメントオブジェクトの共通メソッド

open()、close()
document.openメソッドを使用 内容を書き込むためのwriteメソッドの新規ドキュメントを作成します。これは、実際には、現在のドキュメントをクリアしてコンテンツを書き直すことと同じです。 document.close メソッドは、open メソッドによって作成されたドキュメントを閉じるために使用されます。一度閉じられると、write メソッドはコンテンツを書き込むことができなくなります。

write()

document.write メソッドは、現在のドキュメントにコンテンツを書き込むために使用されます。現在のドキュメントが close メソッドで閉じられていない限り、そこに書き込まれたコンテンツは既存のコンテンツに追加されます。

document.open();document.write("hello");document.write("world");document.close();```

1. ページがレンダリングされ、write メソッドが呼び出されると、まず open メソッドを呼び出して現在のドキュメントの内容をすべて消去してから、それを書き込みます。
2. ページのレンダリング中に write メソッドが呼び出された場合、open メソッドは呼び出されません。
close メソッドを呼び出した後は、write メソッドを使用してコンテンツを書き込むことはできなくなりますが、現在のページの他の DOM ノードは引き続きロードされることに注意してください。
#####*いくつかの特別な状況を除いて、document.write メソッドの使用は避けるようにしてください。

この記事では、タイマーに関連する問題について説明します。その他の関連コンテンツについては、PHP 中国語 Web サイトを参照してください。

関連する推奨事項:

AJAXの動作原理とその利点と欠点の詳細な説明

要素を取得するJSのNメソッドとその動的および静的な議論

DOM要素のJavaScriptの完全な概要

以上がJavaScript タイマーと 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)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

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

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

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

Javaタイマー式とは何ですか Javaタイマー式とは何ですか Dec 27, 2023 pm 05:06 PM

タイマー式は、タスクの実行計画を定義するために使用されます。タイマーの表現は「一定時間後にタスクを実行する」というモデルに基づいています。この式は通常、初期遅延と時間間隔の 2 つの部分で構成されます。

See all articles