今日學習總結

2022-04-15 14:38:39 字數 3039 閱讀 1564

好看的**截圖**

var value = '成'

function utftranslate(value)

utftranslate(value)

//成

之前我知道defer最好,但不求甚解,看了這個圖,清晰多了。

deno今天正式發布了,點選: 了解一下 去 => github位址

今天看到實現map等陣列方法裡,通過下標是否in陣列來判斷當前這一項是否為空。重新認識一下in運算子:

如果指定的屬性在指定的物件或其原型鏈中,則in運算子返回true

prop in object
prop: 乙個字串型別或者symbol型別的屬性名或者陣列索引(非symbol型別將會強制轉為字串)。

今天別人問我乙個這樣的問題,我想了下,其實原理是建立乙個50個值的陣列,然後通過陣列一些方法返回的下標進行重新構建新陣列,或者通過array from的**函式返回下標組成的陣列,這樣可以寫出很多炫技的寫法。

array.from(, (v, k) => k)

array.from(array(100), (v, k) =>k)

//這個比較特殊,keys直接返回索引鍵的迭代器物件

array.from(new array(100).keys())

new array(50).fill(0).map((v, k) => k)

object.keys(array(100).fill(0)).map(v => +v)

看實現陣列的一些方法裡,使用了>>>,同時也引申出了>>,它們有什麼異同呢?

>>(有符號移位):該操作符會將第乙個運算元向右移動指定的位數。向右被移出的位被丟棄,拷貝最左側的位以填充左側

-9 >> 2

11111111111111111111111111110111 // -9 -> 11111111111111111111111111111101 // -3

>>>(無符號移位):該操作符會將第乙個運算元向右移動指定的位數。向右被移出的位被丟棄,左側用0填充。因為符號位變成了 0,所以結果總是非負的

9 >>> 2

00000000000000000000000000001001 // 9 -> 00000000000000000000000000000010 // 2

移位0有什麼意義?

原來移位操作符在移位前做了兩種轉換,第一將不是number型別的資料轉換為number,第二將number轉換為無符號的32bit資料,也就是uint32型別。

uint32型別是如何轉換的?

如果不能轉換為number,那就為0

如果為非整數,先轉換為整數,參考公式sign(n) ⋅ floor(abs(n))

function tointeger(x)
如果是正數,返回正數

如果是負數,返回負數 +2的32次方

function modulo(a, b) 

function touint32(x)

反向思考,讓人耳目一新,值得借鑑

array.prototype.map = function (callbackfn, thisarg) 

// 處理**型別異常

if (object.prototype.tostring.call(callbackfn) != "[object function]")

// 草案中提到要先轉換為物件

let o = object(this);

let t = thisarg;

let len = o.length >>> 0;

let a = new array(len);

for (let k = 0; k < len; k++)

}return a;

}const arr = new array(10)

arr[5] = 5

arr.map(v => )

// [empty × 5, 5, empty × 4]

array.prototype.reduce = function (callbackfn, initialvalue) 

// 處理**型別異常

if (object.prototype.tostring.call(callbackfn) != "[object function]")

let o = object(this);

let len = o.length >>> 0;

let k = 0;

let accumulator = initialvalue;

// 沒有初始值

if (accumulator === undefined) }}

// 表示陣列全為空

if (k === len && accumulator === undefined)

for (; k < len; k++)

}return accumulator;

}

今日學習總結( )

一 property 屬性 1,2,3,均方根誤差 rmse 平均絕對誤差 mae 標準差 standard deviation 的對比 分類問題 precision recall,f1score,f2score,準確率 精確率 召回率 f1值 roc auc 回歸問題 rmse,mae,sd 二 ...

今日學習總結

下午做功能,做了2個loading 乙個是條形的loading 乙個是轉圈的loading 注意 需要在使用元件的外層新增position relative的class 預設開啟,ajax 後設定為false,如果覺得時間太短,可以稍作延遲 holdingloading true settimeou...

今日學習總結9 18

我想說個控制語句,continue與break continue 結束本次迴圈語句 停止當前的本次迴圈,但是還繼續下乙個迴圈 break 終止執行迴圈語句 跳出迴圈!printf 7.2f n a 7.2的意思是,輸出的字元總共佔7列,小數部分佔兩列,且靠在最右邊 如果是 7.2則是靠在最左邊。pr...