10重要なJavaScriptの質問
4739 ワード
JavaScriptは広大な領域を持つプログラミング言語です.今日はJSに関する10の重要な質問について話します.
1 . ' Truthy 'と' falsy '値は?
これは非常に一般的な質問であり、しばしば混乱する.式に値を入れると、boolean ()のような演算子で、' true 'または' false 'のいずれかを取得します.これは'真実'と' falsy '値のベースです.
真の価値の正確な数を定義することは不可能です.むしろ、我々は偽りの価値だけを言います、そして、世界の残りは真実です.
falsy価値:
これらのトリッキーな真実の価値に注意してください.
2 .私たちが'未定義'を得ることができる状況は何ですか?
どんな変数も意図的に値を割り当てられないとき、我々は主に未定義です.関数から値を返したり、何も返さない場合 割り当てられていない変数. オブジェクトにないプロパティにアクセスしようとします.
利用できない配列インデックスにアクセスしようとします.
値が設定されていないパラメータ
3 .(== ) VS (== =)
覚えておくと、ダブルの等しいタイプの不一致を偽造されません.しかし、トリプル等しいです.
4 .これは何を指しますか.それはオブジェクトのどんなメソッドでもあります. 単純な機能では、これはグローバルオブジェクトを参照します. 単独で使用される、これは世界的なオブジェクトに言及します.
5 .矢印関数とは
矢印関数はES 6の関数定義の新しい形式です.
イベントバブルとは?
すべてのDOM要素にイベントが発生すると、実際にプロセスに従います.ターゲット要素のみが考慮されていないすべての親もトリガされます.これはイベントバブルと呼ばれます.泡のように広がっているから.例えば、
pの場合、p -> div
イベントキャプチャとは?
我々が望むならば、我々は逆さまに出来事の過程を変えることができます.単に
ボタンがクリックされると、最初にイベントが一番上から下へ( HTML -> body -> form > ....->>)になります.これはイベントキャプチャの段階であり、イベントは正確な要素に達します.その後、バブリングが始まります.
8どのように、イベント代表団は動きますか?
イベントのデリゲートでは、イベントリスナーを厳密な要素(通常、1つ以上の兄弟がここに滞在している)に追加しません.むしろ、通常の親要素に配置し、その末尾を渡します.
DOMとは
HTMLページがブラウザ上で読み込まれると、すべてのタグが集合的に* d * odocument * o * bject * m * odelを作成します.これは、JavaScriptからHTMLで動作するように非常に便利です要素の木を形成する.
イベントループとは
JSのフードの下では、非同期タスクはWeb API ->イベントキューと呼ばれます.キューからタスクが呼び出されます.しかし、他の関数があるときにスタックに入ることはできません.イベントループは、呼び出しスタックに何もないことを保証します.
1 . ' Truthy 'と' falsy '値は?
これは非常に一般的な質問であり、しばしば混乱する.式に値を入れると、boolean ()のような演算子で、' true 'または' false 'のいずれかを取得します.これは'真実'と' falsy '値のベースです.
真の価値の正確な数を定義することは不可能です.むしろ、我々は偽りの価値だけを言います、そして、世界の残りは真実です.
falsy価値:
null, undefined, "", '',
, 0, NaN, false
.これらのトリッキーな真実の価値に注意してください.
2 .私たちが'未定義'を得ることができる状況は何ですか?
どんな変数も意図的に値を割り当てられないとき、我々は主に未定義です.
{}, [], 'false', '0'
const obj = {
name: 'John',
age: 21
}
console.log(obj.address) ---> undefined
const arr = [1, 2, 3, 4];
console.log(arr[101]);
function func(num1, num2){
console.log(num1, num2)
}
func(22); --> // 22, undefined
3 .(== ) VS (== =)
覚えておくと、ダブルの等しいタイプの不一致を偽造されません.しかし、トリプル等しいです.
Boolean(1=="1") // true
Boolean(1==="1") // false
But remember,
Boolean(NaN==NaN) // false
Boolean(NaN===NaN) // false
4 .これは何を指しますか.
const man = {
name: 'Mosh',
age: 30
detail: function() { He is + this.name + and + this.age + years old.}
} //this == man
var name = 'Ismail';
function printName() {
console.log(this.name); // the global object
}
console.log(this.name) // the global object
5 .矢印関数とは
矢印関数はES 6の関数定義の新しい形式です.
function func() {
return 2*2;
} //general function
const func = ()=> 2*2; // arrow syntax
// for single expression we don't need curly braces
// note the case of only one parameter
const func = x => x*x; // the parenthesis can be omitted.
// but for multi or no parameter case we need to provide it
const func = (x, y) => x+y;
// when we have multiple statements
const func = x => {
// ....rest of your codes.
return 'The square is: '+ x*x;
}
イベントバブルとは?
すべてのDOM要素にイベントが発生すると、実際にプロセスに従います.ターゲット要素のみが考慮されていないすべての親もトリガされます.これはイベントバブルと呼ばれます.泡のように広がっているから.例えば、
<div>
<p>This is a paragraph with <span>span</span></p>
</div>
イベントリスナーをすべてのタグに追加し、スパンにイベントをトリガーすると、イベントはこのように実行されますpの場合、p -> div
イベントキャプチャとは?
我々が望むならば、我々は逆さまに出来事の過程を変えることができます.単に
ボタンがクリックされると、最初にイベントが一番上から下へ( HTML -> body -> form > ....->>)になります.これはイベントキャプチャの段階であり、イベントは正確な要素に達します.その後、バブリングが始まります.
8どのように、イベント代表団は動きますか?
イベントのデリゲートでは、イベントリスナーを厳密な要素(通常、1つ以上の兄弟がここに滞在している)に追加しません.むしろ、通常の親要素に配置し、その末尾を渡します.
<table onclick="..event">
<tr>
<td></td>
...
</tr>
<tr>
<td></td>
...
</tr>
</table>
上記のコードでは、イベントリスナーをすべてのTDSに配置しません.ただし、テーブルにリスナーを配置し、子プロセスにデリゲートを渡します.DOMとは
HTMLページがブラウザ上で読み込まれると、すべてのタグが集合的に* d * odocument * o * bject * m * odelを作成します.これは、JavaScriptからHTMLで動作するように非常に便利です要素の木を形成する.
イベントループとは
JSのフードの下では、非同期タスクはWeb API ->イベントキューと呼ばれます.キューからタスクが呼び出されます.しかし、他の関数があるときにスタックに入ることはできません.イベントループは、呼び出しスタックに何もないことを保証します.
Reference
この問題について(10重要なJavaScriptの質問), 我々は、より多くの情報をここで見つけました https://dev.to/abdullah_alamin/10-important-javascript-questions-51ojテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol