nullと未定義について話す
- Undefinedタイプには、未定義の値が1つだけあります。undefinedを値に設定することはありません。通常、エラーが発生したときに出力されます。
- null型は、値が1つしかない2番目のデータ型です。この特別な値はnullです。null値はnullオブジェクトへのポインタを表します。そのため、typeof演算子を使用してnullを検出すると「object」が返されます。
未定義が表示されるシーン:
1. 变量被声明了,但没有赋值时,就等于undefined。
2. 调用函数时,应该提供的参数没有提供,该参数等于undefined。
3. 对象没有赋值的属性,该属性的值为undefined。
4. 函数没有返回值时,默认返回undefined。
nullが表示されるシーン:
1. 作为函数的参数,表示该函数的参数不是对象。
2. 作为对象原型链的终点。
3. 如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值。
4. 将一个对象变为垃圾对象的时候,设置变量的值为null。
DOMとは何ですか?
- DOMドキュメントオブジェクトモデル。
- これは、jsスクリプトがHTMLとどのように相互作用するかを規定する、W3Cによって指定された一連の仕様です。
- DOMは一連の標準インターフェースを指定し、開発者が標準メソッドを使用してWebページの構造、コンテンツ、スタイル、および動作を操作できるようにします。
ノードとは何ですか?ノードタイプは何ですか?
- すべてのコンテンツとオブジェクトのページでは、ノードと呼ばれます。
- ノードはドキュメントの最も基本的な単位であり、多くの種類のノードがあり、完全なDOMツリー構造を構成します。
- 共通ノード:要素ノード、属性ノード、ドキュメントノード、コメントノード、テキストノードなど。
すべての要素を取得する方法を話します
- タグ名による取得はコレクションです:getElementsByTagName( "Element name")。
- idで単一の要素を取得します:+ getElementById( "element name")。
- クラス名による取得はコレクションです:+ getElementsByClassName( "Element name")。
- セレクターAPI:cssセレクターを使用して要素を選択します。
- querySelector( "Selector")単一要素
- querySelectorAll( "selector")コレクション(nodeListオブジェクト)
- 古い方法と新しい方法の違い:
- 新しい方法で取得された要素は静的です。
- 古い方法で取得された要素は動的です。
- 静的/動的:取得した要素のセットがノードの変更に伴って変更されるかどうか。
HTML本体のヘッドタグを取得する方法
- jsは、htmlボディヘッドを取得する簡単な方法を提供します。
- document.body:body要素を取得します。
- documemt.head:head要素を取得します
- document.documentElement:html要素を取得します
互換性最初の子要素のカプセル化を取得します
function getFirstChild(obj) {
return obj.firstElementChild || obj.firstChild;
}