JS編程核心之從變量到異步完全解析
一、變量與數(shù)據(jù)類型
變量聲明
let:塊級作用域const:常量(不可重新賦值)var:函數(shù)作用域(存在變量提升)
let a = 10; const PI = 3.14; var b = "hello";
數(shù)據(jù)類型
- 基本類型:
Number,String,Boolean,null,undefined,Symbol - 引用類型:
Object(含Array,Function等) - 類型檢測:
typeof 42; // "number" typeof [1,2]; // "object" Array.isArray([1,2]); // true
- 基本類型:
二、運(yùn)算符與類型轉(zhuǎn)換
相等判斷
==:隱式類型轉(zhuǎn)換(1 == '1'→true)===:嚴(yán)格相等(類型和值均需相同)
類型轉(zhuǎn)換
Number("123"); // 123 String(123); // "123" Boolean(0); // false
三、流程控制
條件語句
if (score > 90) { console.log("A"); } else if (score > 60) { console.log("B"); } else { console.log("C"); }循環(huán)語句
for (let i = 0; i < 5; i++) { console.log(i); } let arr = [10, 20, 30]; arr.forEach(item => console.log(item));
四、函數(shù)
函數(shù)定義
function add(a, b) { return a + b; } // 箭頭函數(shù) const multiply = (a, b) => a * b;作用域與閉包
function outer() { let x = 10; return function inner() { return x * 2; // 閉包訪問外部變量 }; }
五、對象與原型
對象創(chuàng)建
let person = { name: "Alice", age: 30, greet() { console.log(`Hello, ${this.name}!`); } };原型鏈
function Animal(name) { this.name = name; } Animal.prototype.speak = function() { console.log(`${this.name} makes a sound.`); };
六、數(shù)組操作
let nums = [1, 2, 3]; // 增刪元素 nums.push(4); // [1,2,3,4] nums.pop(); // [1,2,3] // 高階函數(shù) nums.map(x => x * 2); // [2,4,6] nums.filter(x => x > 1); // [2,3]
七、異步處理
Promise
fetchData() .then(data => processData(data)) .catch(error => console.error(error));
async/await
async function loadData() { try { const data = await fetchData(); console.log(data); } catch (error) { console.error(error); } }
八、練習(xí)題目
- 實現(xiàn)函數(shù):將字符串反轉(zhuǎn)(如
"hello"→"olleh") - 用
reduce計算數(shù)組[1,2,3,4]的平均值 - 解釋以下代碼輸出:
for (var i = 0; i < 3; i++) { setTimeout(() => console.log(i), 100); }
提示:可通過瀏覽器控制臺或Node.js環(huán)境運(yùn)行代碼驗證結(jié)果。
到此這篇關(guān)于JS編程核心之從變量到異步完全解析的文章就介紹到這了,更多相關(guān)JS變量到異步內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript棧和隊列相關(guān)操作與實現(xiàn)方法詳解
這篇文章主要介紹了JavaScript棧和隊列相關(guān)操作與實現(xiàn)方法,結(jié)合實例形式較為詳細(xì)的分析了javascript棧和隊列的概念、原理、定義、用法及相關(guān)操作注意事項,需要的朋友可以參考下2018-12-12
js parseInt("08")未指定進(jìn)位制問題
今天在做JS關(guān)于月份的判斷,對于parseInt("01")到parseInt("07");都能得到正確的結(jié)果,但如果是parseInt("08")或parseInt("09")則返回0,首先看parseInt語法:parseInt(string, radix);2010-06-06
手把手教你 CKEDITOR 4 實現(xiàn)Dialog 內(nèi)嵌 IFrame操作詳解
這篇文章主要介紹了手把手教你 CKEDITOR 4 實現(xiàn)Dialog 內(nèi)嵌 IFrame操作,結(jié)合實例形式分析了CKEDitor4 Dialog內(nèi)嵌IFrame具體操作步驟與相關(guān)注意事項,需要的朋友可以參考下2019-06-06
Javascript實現(xiàn)視頻輪播在pc端與移動端均可
用Javascript實現(xiàn)視頻輪播,畢竟是客戶的需求嗎?所以盡量實現(xiàn)下,下面有個實現(xiàn)視頻輪播的示例,pc端與移動端均可以實現(xiàn),感興趣的朋友可以了解下2013-09-09

