いくつかのランダムトリッキーなJavaScriptのスタッフ
3982 ワード
1 . NULLと未定義
これらはあなたが未定義になるいくつかの方法です.
名前を付けましょう;
コンソール.ログ(名前);/未定義
b )関数が返さない場合
2 .二重等価(= =)対三重等価( == = )
Double Equalsは3倍の等しいチェックかどうかを変数の型をチェックしません.
スコープ:関数の内部から何かにアクセスします.例えば、
{ } =ブロックをブロックします.
クロージャ:関数が別の関数を返すとき.クロージャは、内部関数から外側の関数のスコープへのアクセスを可能にします.JavaScriptでは、関数作成時に関数が作成されるたびにクロージャが作成されます.
JavaScriptは同期的に動作します.と言うことによって、JavaScriptのコードは別の後に1行作業を終了することを意味します.例
例
8 let constとvar
再帰関数
コールバック関数
11 . CRUD操作
これらはあなたが未定義になるいくつかの方法です.
名前を付けましょう;
コンソール.ログ(名前);/未定義
b )関数が返さない場合
function add(num1,num2){
console.log(num1+num2);
}
const res = add(5,6);
console.log(res);//11 undefined
const res2 = add(5);
console.log(res2);//undefined
c行方不明のオブジェクトのプロパティを呼び出しますconst movie = {name:'Social Network', director:'david Fincher',year:'2011'};
console.log(movie.cast);//undefined
d )定義されていない変数を設定した場合let a = undefined;
console.log(a);
NULLは空を意味する.変数NULLを設定できます.2 .二重等価(= =)対三重等価( == = )
Double Equalsは3倍の等しいチェックかどうかを変数の型をチェックしません.
const num1 = 5; //integer
const num2 = "5"; // String
if(num1==num2){
console.log("This is true");
}else{
console.log("This is false");
}
//Output: This is true.
if(num1===num2){
console.log("This is true");
}else{
console.log("This is false");
}
//Output: This is false.
閉鎖対ブロック範囲スコープ:関数の内部から何かにアクセスします.例えば、
function add(num1,num2){
const res = num1+num2;
return res;
}
console.log(res);//error, because res is a variable inside the function, we can't access it from outside.
グローバルスコープ:変数がグローバルに宣言されると、関数の外部からアクセスできます.let total = 100;
function sub(num3){
return total+num3;
}
console.log(total);//here we can access the total variable from outside of the function.
ブロックスコープ:2番目の括弧内の変数を宣言するとき.彼らはその地域の外からはアクセスできない.{ } =ブロックをブロックします.
if(number >10){
let response = 'Happy';
console.log(response);
}
console.log(response); // error
注意:変数を宣言するためにvarを使用する場合.エラーが表示されません.if(number >10){
var response = 'Happy';
console.log(response);
}
console.log(response); //no error
重要:「変数」のスコープ内で' var 'を使用して変数を宣言するとJavaScriptでhoistingと呼ばれます.スコープの外側の変数をグラブし、グローバル変数として表示します.クロージャ:関数が別の関数を返すとき.クロージャは、内部関数から外側の関数のスコープへのアクセスを可能にします.JavaScriptでは、関数作成時に関数が作成されるたびにクロージャが作成されます.
function increase(){
let count = 0;
return function(){
count++;
return count;
}
}
const res1 = increase();
console.log(res1);//1
console.log(res1);//2
console.log(res1);//3
const res2 = increase();
console.log(res2);//1
console.log(res2);//2
console.log(res1);//4
4配列から削除するconst name = [2,2,3,3,4,5,6];
const uniqueName = [];
for(let i =0;i<name.length;i++){
let element = name[i];
let index = uniqueName.indexOf(element);
if(index==-1){
uniqueName.push(element);
}
}
console.log(uniqueName);//[2,3,4,5,6]
5 .文字列を反転するfunction reverseString(str){
const reverse ='';
for (let i=0;i<str.length;i++){
let char = str[i];
reverse = char+reverse;
}
return reverse;
}
const sentence = 'Hello programming community';
const result = reverseString(sentence);
console.log(result);
非同期JavaScriptは同期的に動作します.と言うことによって、JavaScriptのコードは別の後に1行作業を終了することを意味します.例
function movie(){
console.log('Ironman1');
}
console.log('Ironman2');
console.log('Ironman3');
//Output:
Ironman1
Ironman2
Ironman3
しかし、JavaScriptを非同期にすることができます.settimeout ()メソッドを使用することで、関数やタスクを保持します.function movie(){
console.log('Ironman1');
}
setTimeout(movie);
console.log('Ironman2');
console.log('Ironman3');
//Output:
Ironman2
Ironman3
Ironman1
注意:関数がどのくらい保持されるかについては、特定の時間を設定することもできます.例
setTimeout(movie,10000);//here time is in mili second.
イベントループとイベントブランク8 let constとvar
再帰関数
コールバック関数
11 . CRUD操作
Reference
この問題について(いくつかのランダムトリッキーなJavaScriptのスタッフ), 我々は、より多くの情報をここで見つけました https://dev.to/habiburrahman/things-about-javascript-you-ll-have-fun-learning-3nl9テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol