JavaScriptの問題を混乱させる
4217 ワード
真実または虚偽の値
JavaScriptでは、Truthyは論理的な目的として使用している間にtrueを意味します.とfalsyは偽の値としてbooleanを意味します.少数の値を除いて、すべての値は信頼できます.falsyの値は0 ", "NULL , false , NaN ,未定義のいくつかの混乱を以下に示します:
var a = 0;
if(a){
console.log("This is truthy");
}else{
console.log("This is falsy");
}
上記のコードは、A = 0がfalsy値であるので、これを実行します.var a = "";
if(a){
console.log("This is truthy");
}else{
console.log("This is falsy");
}
上記のコードは、また、“=”がfalsy値であるので、これはfalsyです.var a = " ";
if(a){
console.log("This is truthy");
}else{
console.log("This is falsy");
}
上記のコードでは、宣言でTRUE通知を実行し、文字列の空白を割り当てます.「これは真実の価値だ.NULLと未定義
未定義のデータ型です.変数は宣言するが、値は割り当てられず、NULLは変数に代入できる値である.この例を以下に示す
var hello; //variable declare but value not assigned
console.log(hello); // print here undefined
未定義の別の方法var hello = "hi"; //value assigned hi
console.log(hello);
hello = undefined; //undifined assign to hello
console.log(hello);
hello = null;
console.log(hello); // print here null
ダブルイコール(= =)対トリプル
つの値を比較するために倍の等しいと三重の等しい使用.
ここの違い
Triple Equals (= == )は値を比較するだけでなく、変数データ型も比較します.両方とも同じですが、それは真実です.
var a = 77;
var b = '77';
console.log(a===b); // its false, values are same but datatype
var a =77;
var b=77;
console.log(a===b); //its true
var a = 'hello';
var b = 'hello';
console.log(a===b) //its true,
倍の等しい唯一の比較値はdatatypeでありません.var a = 77;
var b = '77';
console.log(a==b); // its true, values are same
スコープ
Scope変数変数範囲を意味します.
グローバルスコープ
変数がグローバルスコープで宣言された場合、どこでもアクセスできます.変数は関数スコープとブロックスコープにアクセスできます.
var name= 'khan'
console.log(name); //khan
function getName(){
console.log(name); //name is accessible here
}
ブロックスコープ
これは、変数がブロックにアクセス可能であることを意味します.場合、スイッチ、for、while、blockはCARE BRIE { BLCOK Scope Area }を開始して終了するコードの領域を意味します
function getName(){
let name1= 'khan'; //exist in function and block
if(true){
let name2= 'momin'; //exist in block scope
}
console.log(name1); //it is in the block
console.log(name2); //it is out of its block
}
クラーサー
閉鎖定義はDouglas Crockfordによって与えられます:
Closure means that an inner function always has access to the vars and parameters of its outer function, even after the outer function has returned.
function outerFunction(){
var a = 5;
function innerFunction(){
console.log(a);
}
return innerFunction; //here return the reference of the innerFunction
}
var innerF = outerFunction(); //innerF assigned reference of innerFunction.
innerF(); //call here innerFunction and print 5
上記のコードouterfunction ()はinnerfuncion ()の参照を返します.ただし、inoterfunction ()はouterfunction ()ブロックスコープにあります.しかし、それはouterfunction ()ブロックからアクセスできます.これはクラスパーです.Reference
この問題について(JavaScriptの問題を混乱させる), 我々は、より多くの情報をここで見つけました https://dev.to/aziz97d/confusing-javascript-question-1257テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol