JavaScript—學(xué)習(xí)知識點(diǎn)小集

全局函數(shù)

1.eval:將傳入字符串當(dāng)函數(shù)執(zhí)行?!竞芪kU(xiǎn),使用增加被惡意攻擊風(fēng)險(xiǎn)】
2.uneval:把傳入?yún)?shù)源代碼轉(zhuǎn)字符串返回
3.isFinite:判斷傳入數(shù)字是不是有限數(shù)
4.parseFloat:把傳入?yún)?shù)解析會浮點(diǎn)數(shù)
5.decodeURI:解碼統(tǒng)一資源標(biāo)識符(URI)
6.decodeURIComponent:解碼包括特殊符號的統(tǒng)一資源標(biāo)識符
7.encodeURI, encodeURIComponent:使用統(tǒng)一資源標(biāo)識符加密,后者比前者能加密更多特殊符號,比如&

object靜態(tài)函數(shù)——1

1.object.assign(main, source) 將參數(shù)對象source的可枚舉屬性分配到參數(shù)對象main中,返回新的對象1
2.Object.create(obj) 基于一個(gè)對象構(gòu)建一個(gè)新對象并返回
3.Object.defineProperty() 定義對象屬性
4.Object.defineProperties() 定義對象多個(gè)屬性
5.Object.entries() 返回對象的鍵值對數(shù)組
使用實(shí)例:
for (const [key, value] of Object.entries(object1)) {
console.log(key,value);
}

object靜態(tài)函數(shù)——2

1.Object.freeze()
凍結(jié)對象,其他代碼不能刪除或更改任何屬性
【不經(jīng)常使用,可以使用于不可編輯性要求很高的對象】
2.Object.getOwnPropertyDescriptor()
拿到對象某個(gè)屬性的描述符
【不經(jīng)常使用,可以作為對某個(gè)重要對象的分析工具】
3.Object.getOwnPropertyNames()
返回對象可枚舉和不可枚舉的屬性名構(gòu)造的數(shù)組 【可能用到】
4.Object.getOwnPropertySymbols()
返回對象的Symbol數(shù)組【不經(jīng)常使用】
5.Object.getPrototypeOf()
返回對象的原型【不經(jīng)常使用】
6.Object.is (a, b)
判斷對象a、b是否為同一個(gè)對象 【可能會用到】
7.Object.seal()
封閉對象,不能增減屬性,且固定屬性標(biāo)記,但是可以改變屬性值
【不經(jīng)常使用】
8.Object.preventExtensions()
限制對象新增屬性
【不經(jīng)常使用】 freeze>seal>preventExtensions 限制性由大到小
9.Object.isExtensible()、Object.isFrozen()、Object.isSealed()
判斷對象是否可拓展、是否已凍結(jié)、是否已封閉
【不經(jīng)常使用】
10.Object.keys()、Object.values()
返回對象可枚舉的(屬性名|值)構(gòu)造的數(shù)組
【偶爾用到】
11.Object.setPrototypeOf()
設(shè)置對象的原型對象【不經(jīng)常使用】

小記

1.Function是一個(gè)構(gòu)造函數(shù) 可以定義function對象
2.Boolean 布爾值的對象包裝器
Boolean()可以作為bool值強(qiáng)制轉(zhuǎn)換器
值為true對Boolean對象和true不是同一概念
3.Symbol是一種基本數(shù)據(jù)類型
Symbol()可以返回Symbol類型的值,具有靜態(tài)屬性和唯一性

Error對象,有六種類型

1. EvalError 表示錯(cuò)誤原因與Eval有關(guān)
?2. InternalError 表示Js內(nèi)部引擎異常
?3. RangeError 表示數(shù)值或變量超出其有效范圍
?4. ReferenceError 表示無效引用錯(cuò)誤
?5. SyntaxError 表示Eval解析過程有語法錯(cuò)誤
?6. TypeError 表示值或變量不是有效類型
?7. URIError 表示給encodeURI()和decodeURI()傳遞的參數(shù)無效

Number對象 函數(shù)方法

Number.isInteger() 判斷是否整數(shù)
Number.toInteger() 計(jì)算值并轉(zhuǎn)換為整數(shù)
Number.isNaN() 判斷是否為數(shù)字
Number.parseFloat() 解析為浮點(diǎn)數(shù)
Number.parseInt() 解析為整數(shù)

內(nèi)置對象

BigInt 內(nèi)置對象,表示大于2 53 - 1的整數(shù)。【基本用不到】

Math 內(nèi)置對象,擁有一些常數(shù)屬性和數(shù)學(xué)函數(shù)方法,不是函數(shù)對象
常數(shù)屬性:比如圓周率:Math.PI 類似的還有歐拉常數(shù)、自然對數(shù)等
常用方法:
Math.round()返回四舍五入后到整數(shù)
Math.random()返回一個(gè)0到1點(diǎn)隨機(jī)偽數(shù)
不常用方法:
Math.abs(x) 返回一個(gè)數(shù)的絕對值
Math.ceil(x) 返回大于一個(gè)數(shù)的最小整數(shù)
Math.fround(x) 返回最接近的單精度浮點(diǎn)數(shù)
求正弦值、余弦值等 更多算法函數(shù)請查詢網(wǎng)站

Date 日期對象
常用類方法:
Date.Parse() 解析時(shí)間字符串返回時(shí)間戳
Date.Now() 返回當(dāng)前時(shí)間到時(shí)間戳
常用的實(shí)例函數(shù)方法
getFullYear/getMonth/getDate 獲取年份/月份下標(biāo)/日期
getHours/getMinutes/getSeconds 獲取時(shí)間的小時(shí)/分鐘/秒
setFullYear/setMonth 配置關(guān)鍵字時(shí)間
getDay() 返回日期在一周中是第幾天的值
getTime()/valueOd() 返回時(shí)間的格林威治時(shí)間值(時(shí)間戳)
不常用的簡單記錄部分拓展
getMilliseconds() 返回日期的毫秒數(shù)

String 字符串對象
常用實(shí)例函數(shù)
slice/subString() 返回截取字符串。區(qū)別:前者參數(shù)可以為負(fù)數(shù),后者不然
trim() 可以刪除字符串兩端的空白字符
replace(a, b) 字符串替換
split(a) 以某個(gè)參數(shù)為切割字符,返回切割后的字符串?dāng)?shù)組

RegExp 正則表達(dá)式對象
語法:var myreg=/[1][3,4,5,7,8][0-9]{9}$/;
常用實(shí)例函數(shù):
tests() 判斷是否符合正則
exec() 搜索,返回匹配的數(shù)組

Array 數(shù)組對象
常用實(shí)例函數(shù):
concat() 合并兩個(gè)數(shù)組
filter() 返回符合篩選條件的元素?cái)?shù)組
unshift() 將參數(shù)添加至數(shù)組頂部
shift() 刪除頂部元素
pop() 刪除尾部元素
push() 添加元素到末尾
join(a) 使用參數(shù)將數(shù)組拼接成一個(gè)字符串并返回
sort() 使用算法對數(shù)組排序

Set 對象 (具有唯一性、無序性、高查找性的對象數(shù)組)
允許存儲任何類型的唯一值,每個(gè)值都是唯一的,存儲是無序的

Promise對象 表示一個(gè)異步操作最終成功/失敗后的結(jié)果值

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容