日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

10.20随笔

發布時間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 10.20随笔 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ES6

ECMAScript是一種由Ecma國際(前身為歐洲計算機制造商協會,英文名稱是European Computer Manufacturers Association)通過ECMA-262標準化的腳本程序設計語言。

這種語言在萬維網上應用廣泛,它往往被稱為JavaScript或JScript,但實際上后兩者是ECMA-262標準的實現和擴展。

?

模板對象?

?

新的語法? $ {NAME},并把它放在反引號里

?

?

遍歷數組

?

var arr=['jack','rose','lucy','lolita']; console.log('原始for循環:'); for(var i=0;i<arr.length;i++){ console.log(i+' '+arr[i]); } console.log('ESS[forEach]:'); arr.forEach(function(value,index){ console.log(index+' '+value); }) console.log('for-in:'); for(var i in arr){ console.log(i+' '+arr[i]); } console.log('ES6[for-of]:'); for(var name of arr){ console.log(name); } var arr2=[56,88,100,'99',150,1818]; //過濾數組(filter) arr2=arr2.filter(function(value,index){ return value>100; }) console.log(arr2); //遍歷的同時修改 arr=arr.map(function(value,index){ return 'welcome:'+value+' '+index; }) console.log(arr); 新的集合 ☆ Arry set map三者的區別?

小結:對比三種存儲介質

Array: 有序集合,下標是唯一的,值是可以重復的

Set ??: 無序集合,沒有下標,值就是唯一的

Map : 無序集合,采用鍵值對形式存儲數據,鍵(key)是唯一的,值可以重復

?

set

?

?

map

?

?

var myset = new Set("ABCDEAB");//實際存儲的值是:ABCDE,因為會自動過濾重復的值 console.log(myset.size);//Set集合的長度:0 myset.add("W");//給Set添加一個值 myset.delete("A");//從Set中刪除A myset.clear();//清空整個Set集合 console.info(myset.has("X")) // 檢索Set中是否有X這個值 console.info(myset[2]) // Set不支持索引,所以這行會報錯 Array.from(myset);//Set轉數組
key-value
var maps = new Map(); maps.set("username", "小三");//存儲三組數據 maps.set("age", 20); maps.set("sex", "男"); console.log(maps.get("username"));//通過Key取出 console.log(maps.size);//返回長度:3 console.log(maps.has("sex"));//是否有該key console.log(maps.delete("age"));//根據key刪除一個值 //??????console.log(map.clear());//清空 console.log(maps);//輸出整個map集合 console.info(maps.keys());//返回Key的集合 console.info(maps.values());//返回Value的集合 面向對象的方法

Object.create():根據原型創建一個子類對象(繼承的另一種形式)

?

ct.defineProperty(Obj,property,{}); 在一個對象上定義新的屬性

?

Object.defineProperties(對象名,要添加的屬性): 為對象一次定義多個屬性

?

?

?

?

修飾器set和get

?

?

?

?

?

默認參數

?

?

?

?

?

拓展運算符 三個點(...)

將一根數組轉換為用逗號分隔的參數列表

?

?

?

let 和 var ☆

的區別?

1.定義的變量作用域只是封閉塊,而不是整個函數

2.var定義變量聲明提前,也就是可以在創建前獲取,但結果是undefined;

而let不存在聲明提前,所以如果在創建前獲取,會報錯的

3.var定義的全局變量是屬于window的,可以通過window取出來 (window點的出來);

而let定義的全局不屬于window (window點不出來)

?

?

?

const常量 特點 通常全局 局部時等于let效果 1.常量不讓后來修改 2.常量必須有初始值 3.如果將const定義的變量放在塊級作用域中,則與let效果一樣

?

?

解構 1.逗號隔開,用來批量賦值 (按順序去賦值) 2.使用解構進行變量的交換 [a,b]=[b,a]

?

?

箭頭函數

首先,我們發現省略了function,用()代替。

其次,{}被=>代替了。

最后,里面return沒有了,因為它將暗地里返回單個語句的結果。如果你超過了一行,將需要明確使用return。

最重要的是,在ES6中的內層函數里,可以瀟灑的使用this,它代表的就是外層函數的 ☆☆

this。因為箭頭函數沒有它自己的this值,箭頭函數內的this值繼承自外圍作用域。

?

新增寫法

String:

?

repeat();重復當前字符串多少次 重復多少次

console.log(“ABC".repeat(3));//ABCABCABC

?

includes();檢測當前字符串是否包含某個字符串,包含返回true ☆ 檢測是否包含

console.log(“ABC".includes("A"));//true

?

startsWith();檢測某字符串是否在源字符串的頭部,包含返回true ☆ 是不是以啥開頭

console.log(“ABC".startsWith("B"));//false

?

endsWith();檢測某字符串是否在源字符串的尾部,包含返回true ☆是不是以啥結尾

console.log("ABC".endsWith("C"));//true

?

Math:

?

Math.trunc();不進位的去除小數點

console.log(Math.trunc(3213.5));//3213

?

Math.sign();如果參數數字是正數,返回1;如果是負數,返回-1;如果是0,返回0

console.log(Math.sign(3213.5));//1

console.log(Math.sign(-3213.5));//-1

console.log(Math.sign(0));//0

☆用來判斷當前數字的正負數 map和weakmap的區別? ☆ 它兩的結構類似也是用于鍵值對的集合 區別:weakmap只接受object對象作為鍵名(null)除外,方法只有set(),get(),has(),delete() weakup沒有遍歷方法,size屬性,clear方法

轉載于:https://www.cnblogs.com/liuyangya/p/9833033.html

總結

以上是生活随笔為你收集整理的10.20随笔的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。