[20419]JavaScript特別講座
18476 ワード
JavaScript特別講座
李在元社長が主宰したJSリアルタイム特別講座に参加した.
What is JavaScript?
JavaScript(英語:JavaScript)は、オブジェクトベースのスクリプトプログラミング言語です.この言語は主にWebブラウザで使用され、他のアプリケーションに組み込まれているオブジェクトにアクセスする機能を備えています.
-ウィキペディア
HTML、CSSで動作の機能を設定できます.
通知ウィンドウ練習の作成
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="./style.css">
</head>
<body>
<div id="alertBox">
<p id="number">alert box 1</p>
<button id="closeBox">
이거 누르면 닫힘
</button>
</div>
<div>
<button class="showAlert" onclick="openclose('나는 1box')">
이거 누르면 1 열림
</button>
<button onclick="openclose('나는 2box')">
이거 누르면 2 열림
</button>
</div>
<script>
function openclose(content) {
document.getElementById("alertBox").style.display = "block";
document.getElementById("number").innerHTML = content;
}
document.getElementById("closeBox").addEventListener("click", function() {
document.getElementById("alertBox").style.display = 'none';
})
</script>
</body>
</html>
#alertBox {
display: none;
padding: 20px;
border: 1px solid #c6c6c6;
border-radius: 15px;
background-color: beige;
}
#alertBox2 {
display: none;
padding: 20px;
border: 1px solid #af4c4c;
border-radius: 15px;
background-color: rgb(131, 131, 31);
}
入力練習を受ける
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="./style.css">
</head>
<body>
<input type="text" name="" id="inputValue" />
<button id="submitBtn">submit</button>
<div id="result"> </div>
<script>
document.getElementById("submitBtn").addEventListener("click", function() {
// 사용자가 입력하지 않고 버튼 누르면 함수를 실행시키지 말자!
var IV = document.getElementById("inputValue").value;
if (!IV.trim()) {
alert("입력 후 눌러라")
}
else {
document.getElementById("result").innerHTML = IV;
}
})
</script>
</body>
</html>
More ...
タグの選択方法
querySelector
指定した選択プログラムまたは選択パッケージに一致するドキュメントの最初のElementを返します.一致する要素がない場合はnullを返します.
戻りタイプはNodeListです.
document.querySelector('tag');
document.querySelector('#id');
document.querySelector('.class');
querySelectorAll
指定したセレクタまたは選択パッケージに一致するドキュメント内のすべての要素を返します.
document.querySelectorAll('selector');
getElementById
メソッドは、指定した文字列に一致するid属性を持つ要素を検索し、その属性を表すElementオブジェクトを返します.IDは、ドキュメント内で一意である必要があるため、特定の要素をすばやく検索するときに便利です.
リターンタイプはHTML Collectionです.
document.getElementById(id);
getElementsByClassName
指定されたクラスのすべてのサブ要素を持つリアルタイムHTML Collectionを返します.アレイに戻ります.
document.getElementsByClassName('class')
変数の宣言
元々JSの変数宣言はvarのみ使用されていたが、ES 6からletとconstが利用可能になった.
var、let、constの違いを理解するには、HostingとScopeの概念を理解する必要があります.
Hoisting?
変数宣言(および通常の宣言)は、任意のコードを実行する前に処理されるため、コード内の任意の場所で変数宣言は最上位宣言と同等です.これは、変数が宣言前に使用できることを意味します.変数宣言が関数またはグローバルコードの上部に移動する動作を「昇格」と呼びます.
- MDN
変数を宣言する前に参照できます.
Scope?
scopeは、参照オブジェクト識別子(識別子、変数、関数の名前、たとえば、あるオブジェクトを他のオブジェクトと区別できる一意の名前)を検索するためのルールです.
- PoeimaWeb
global scope
コード内の任意の場所で参照できます
local scope
サブ関数との参照のみ
変数が関数に宣言されている場合は、その関数にのみアクセスでき、関数外では使用できません.
条件内部またはループ内部で宣言された変数は、条件またはループ内でのみアクセスできます.
かっこ({})単位で範囲を決定します.
var, let, const
var
宣言、初期化段階が一度に完了します.
let
宣言は、初期化段階に分けて行います.
したがって、初期化前にアクセスしようとすると参照エラーが発生します.
const
不変の値(定数)に使用します.
宣言と同時に分配しなければならない.
/varletconst繰り返し宣言OXX値の再割り当てOOXscopefunctionblockblockグローバルオブジェクト属性OXX
letとconstのHOLING
varは凍結されます.
letとconstはHostingされませんか?
❌NO! クビになったが、
Temporary Dead Zone
でクビになったわけではないようだ.変数を作成するには
実行コンテキストの変数オブジェクトに変数を登録します.
メモリに変数オブジェクトに登録されている変数のスペースが確保されていることを確認します.変数は未定義に初期化されます.
未定義に初期化された変数に実際の値を割り当てます.
Temporary Dead Zone
一時の死角地帯.scope起点から初期化起点までの区間は,変数が参照できない区間である.
初期化前に変数を参照しようとすると、メモリ容量が不足してエラーが発生します.
したがって、初期化前に変数にアクセスしようとすると、参照エラーが発生し、フリーズされないように見えます.
ブログ参照
https://poiemaweb.com/es6-block-scope
https://junhobaik.github.io/js-let-cont-hoisting/
Reference
この問題について([20419]JavaScript特別講座), 我々は、より多くの情報をここで見つけました https://velog.io/@aurpo1/220419-JavaScript-특강テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol