2020/3/26
問題
HTML:HTMLのJS
<body>
と<head>
の違いは何ですか?
css:BFCとは何ですか?BFCをトリガーするものは何ですか?
js:let、const、varの違いは何ですか?
HTML:HTMLのJS <body>
と<head>
の違いは何ですか?
jsが入れhead
追加していない場合、async
またはdefer
ブラウザの出会いをするとき、時間script
、それによってページに影響を与えるのビルディングブロックDOMツリーが、ロードされています。jsファイルが多い場合、ページ空白画面の時間も長くなります。JS <body>
内部(典型的には</body>
上部)、場合DOM注文解析ので、したがってDOM JS分析を遮断せず。DOMは、JSをロードする必要がある前に解決しなければならないために、私たちは、配置する必要があります<head>
インチ
css:BFCとは何ですか?BFCをトリガーするものは何ですか?
BFCとは
BFCはBlock Formatting Contextと呼ばれます。BFCはW3C CSS 2.1仕様の概念です。BFCは、要素がコンテンツをどのように配置するか、他の要素との関係および相互作用を決定します。ビジュアルレイアウトに関しては、Block Formatting Contextは、HTML要素がこの環境は、特定のルールに従ってレイアウトされています。1つの環境の要素が他の環境のレイアウトに影響を与えることはありません。たとえば、フローティング要素はBFCを形成します。フローティング要素内の子要素は主にフローティング要素の影響を受け、2つのフローティング要素は互いに影響しません。これは、BFCが独立した管理単位であることの意味に似ています。BFCはスコープであり、独立したコンテナーとして理解され、このコンテナー内のボックスのレイアウトは、このコンテナー外のボックスとは関係ありません。
BFCをトリガーする条件
- ルート要素またはそれを含む他の要素
- 浮動要素(要素
float
ではありませんnone
) - 絶対配置要素(持つ要素
position
としてabsolute
又はfixed
) - インラインブロック(要素にがある
display: inline-block
) - テーブルセル(要素には、
display: table-cell
HTMLテーブルセルのデフォルト属性があります) - テーブルタイトル(要素には
display: table-caption
、HTMLテーブルタイトルのデフォルト属性) overflow
値ではなくvisible
ブロック要素- フレキシブルボックス(
flex
またはinline-flex
) display: flow-root
column-span: all
明日使用
js:let、const、varの違いは何ですか?
宣言方法 | 可変プロモーション | 一時的な不感帯 | ステートメントを繰り返す | ブロックレベルのスコープは有効です |
---|---|---|---|---|
ました | ウィル | 存在しない | 許可する | いいえ |
させる | しない | 存在する | 許可されていません | 持っている |
const | しない | 存在する | 許可されていません | 持っている |
1. let / constで定義された変数は昇格されませんが、varで定義された変数は昇格されます。
2.同じスコープ内で、letとconstは繰り返し宣言を許可しません。varは繰り返し宣言を許可します。
3.constは変数を宣言するときに初期値を設定する必要があります
const a;
// 报错
4.constは読み取り専用定数を宣言します。この定数は変更できません。
ここで非常に重要な点があります。JSでは、スタックに格納される複雑なデータ型はヒープメモリのアドレスです。スタックに格納されるアドレスは変更されませんが、ヒープに格納される値は。かなり定数のポインター/ポインター定数があります〜
const arr = [1,2,3];
arr[0] = 10;
// arr [10, 2, 3]