(一)用處
刪除物件的屬性
eg:var person = ;
delete person.name;
console.log(person);
結果:(二)注意事項:
(1)不可以刪除用var 、 const定義的變數;***注:***是指物件裡的屬性,不是指該物件不能用var 或 const。
eg:var a = 123; 或 const b = 456; 如果它們是物件的屬性就無法用delete刪除。
(2)刪除成功 delete person.name;為true。
(3)如果屬性不存在,仍然刪除,返回的值卻是true。
(三)使用時出現的問題
在vue子元件裡接收物件,this.list;
const obj = this.list;
delete obj.id;
結果不僅obj改變,this.list也發生改變,影響後面使用this.list。
但如果後面不需要使用原物件就可以使用該方法。
(一)使用如圖,侷限是只可以刪除物件開頭的屬性。
(二)使用delete改良版
要點:下圖**標亮處。
結果:
複製物件重新賦值不改變原物件
直接賦值 varobj1 varobj2 obj1 console.log obj2 通過 object.assign 這個屬性來進行複製 varobj varobj2 object.assign obj console.log obj2 通過 for in 迴圈賦值 varobj1 c 0 var...
物件不改變只改變物件的屬性多執行緒執行結果還是同步
只要物件不變,即使物件中的屬性被改變了,多個執行緒呼叫物件中的方法時仍是同步的,因為物件不改變多個想成獲取的就是同乙個鎖 如下 public class a public class b 如果有執行緒1和執行緒2一起呼叫test方法,執行緒1先呼叫,然後再改變類a中的屬性username或num的值...
js陣列方法之改變或不改變原陣列
pop 將引數從陣列尾部刪除 unshift 將引數新增到陣列頭部 shift 將引數從陣列頭部刪除 reverse 陣列倒序 sort 陣列排序 var arr 2 1,3 4,15 11,14 12 arr.sort a,b a b 1,2,3,4,11,12,14,15 arr.sort a,...