只是想知道有什麼副作用或這是什麼意思或做什麼。我注意到Prototype JS庫的兩部分源代碼。
Hash.from = $H;
Array.from = $A;
任何澄清將不勝感激,並提前謝謝。
只是想知道有什麼副作用或這是什麼意思或做什麼。我注意到Prototype JS庫的兩部分源代碼。
Hash.from = $H;
Array.from = $A;
任何澄清將不勝感激,並提前謝謝。
從文檔
Array.from克隆現有陣列或 創建從陣列狀 採集一個新的。這是 $ A()方法的別名。
$ A()是Array.from的簡便別名,但是是轉換爲數組的首選方式。
這就是你發佈的行中發生的事情。命名的函數$ A被分配給Array.from。所以調用Array.from(iterable)與調用$ A(iterable)相同。與哈希相同。
沒有更多的上下文很難給出有用的答案。
Hash.from = $ H;
將變量$H
的值賦值給對象Hash
的屬性from
。這是所有用戶定義的東西。
Array.from = $ A;
將變量$A
的值賦值給對象Array
的屬性from
。除Array外,這是用戶定義的,Array是數組的內置構造函數。
修改內置構造函數的副作用是兩組修改相互衝突的可能性。例如,如果prototype.js給出Array
一個from
屬性,然後myCoolLibrary.js也給出Array
一個from
屬性,可能使用不同的API,一個庫或另一個庫將被破壞。