好看的**截圖**
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...