extend(o, p) 惡性合併,用p中的同名屬性覆蓋掉o中的同名屬性
var p1 = ;
var p2 = ;
// 惡性合併,即:存在同名屬性時,覆蓋掉o中的屬性
function
extend
( o, p )
// 返回合併後的物件
return o;
}var res = extend( p1, p2 );
console.log(p1); // p1 被合併,內容發生改變
console.log(p2); // p2 內容不變
console.log(res); // p1 p2 合併後的結果,指向p1
// output:
test.html:57
object
test.html:58
object
test.html:59
object
merge(o, p) 友好合併,保留o中的同名屬性// 友好合併,即:存在同名屬性時,保留o中的屬性,不進行覆蓋
function
merge
( o, p )
// 返回合併後的物件
return o;
}var res = merge( p1, p2 );
console.log(p1); // p1 被合併,內容發生改變
console.log(p2); // p2 內容不變
console.log(res); // p1 p2 合併後的結果,指向p1
// output: 保留了原來的值
test.html:64
object
test.html:65
object
test.html:66
object
restrict(o, p) 排除異己,從o中刪除p中不存在的屬性// 排除異己,從o中刪除掉p中不存在的屬性,即:我無你也不能有,~~!
function
restrict
( o, p )
// 返回排除不同屬性的物件
return o;
}var res = restrict( p1, p2 );
console.log(p1); // p1 部分屬性被刪除,內容發生改變
console.log(p2); // p2 內容不變
console.log(res); // p1 p2 合併後的結果,指向p1
// output: 我裡面有name所以你可以有,但是age我這裡沒有,所以你也不能有
test.html:46
object
test.html:47
object
test.html:48
object
substrict(o, p) 殘殺同類,從o中刪除p中存在的屬性// 殘殺同類,從o中刪除p中存在的屬性,即:我能有但是你不允許有,~~!
function
subtract
( o, p )
// 返回已刪除同名屬性的的物件
return o;
}var res = subtrct( p1, p2 );
console.log(p1); // p1 部分屬性被刪除,內容發生改變
console.log(p2); // p2 內容不變
console.log(res); // p1 p2 合併後的結果,指向p1
// output: name在p1,p2中都存在,所以從p1中刪除掉了
test.html:53
object
test.html:54
object
test.html:55
object
union(o, p) 善意的謊言,合併物件屬性,但保留p自身的同名屬性,返回新物件// 善意的謊言,合併物件,保留後者同名屬性,即:我們合體吧,但是用我的外表和名字,嘎嘎嘎~~!
function
union
( o, p ) , o ), p);
}var res = union( p1, p2 );
console.log(p1); // p1 內容不變
console.log(p2); // p2 內容不變
console.log(res); // p1 p2 合併後的返回的新物件
// output: 同名的weight保留了p2中的值,p1,p2不變,返回的是個新物件
test.html:56
object
test.html:57
object
test.html:58
object
intersection(o, p) 不求回報的付出,返回乙個擁有o, p共有屬性的新物件,保留o中的屬性值// 不求回報的付出,物件的交集,保留前者者同名屬性,即:我要讓你變成我一樣,我是多麼得偉大,多麼的有愛心,呵呵呵~~!
function
intersection
( o, p ) , o ), p);
}var res = intersection( p1, p2 );
console.log(p1); // p1 內容不變
console.log(p2); // p2 內容不變
console.log(res); // p1 p2 排除異己之後剩下的共有屬性組成的新物件
// output: 保留了p1,p2中都存在的屬性name, p1,p2不變,返回新物件
test.html:61
object
test.html:62
object
test.html:63
object
keys(o) 返回乙個陣列,陣列裡包含了物件o裡可以列舉的自有屬性(非原型屬性)function
keys
( o )
}// 返回儲存了可以列舉的屬性的陣列
return result;
}
30 列舉常見的內建函式?
自己用到的一些 bin 返回乙個整數 int 或者長整數 long int 的二進位制表示。abs 此函式返回數字的絕對值。enumerate 函式用於將乙個可遍歷的資料物件 如列表 元組或字串 組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。id 函式用於獲取物件的記憶體位...
C 類和物件(七) 列舉
列舉是乙個值型別,包含一組命名的常量,如這裡的color型別。列舉型別用enum關鍵字定義 public enum color red,green,blue 可以宣告列舉型別的變數,如變數c1,用列舉型別的名稱作為字首,設定乙個命名常量,來賦予列舉中的乙個值 color c1 color.red w...
基礎鞏固12 列舉類以及列舉類物件的變數
獲取某個列舉物件的屬性值 1 獲取列舉物件 通過靜態屬性獲取列舉物件 season spring season.spring 通過列舉物件的名字獲取列舉物件 season summer season.valueof summer string seasonname spring.getseasonn...