下面代碼的輸出結果是什麼?前端
a = [1, 2, 3, 4];
delete a[1];
console.log(a.length);
複製代碼
這個題目主要考察delete相關的知識點面試
在 JavaScript 中 delete 操做符用於刪除對象的某個屬性,與直觀的見解不一樣,delete操做符與直接釋放內存無關,內存管理是經過斷開引用來間接完成的。數組
delete
成功刪除的時候返回 true,不然返回 false。可刪除對象以下描述:bash
示例:this
function fun(){
this.name = 'mm';
}
var obj = new fun();
console.log(obj.name);//mm
delete obj.name;
console.log(obj.name); //undefined
複製代碼
var name = 'lily';
delete name;
console.log(name); //lily
複製代碼
function fun(){
this.name = 'mm';
}
fun.prototype.age = 18;
var obj = new fun();
delete obj.age;
console.log(obj.age) //18
複製代碼
面試題目中,刪除數組元素,不會改變數組元素的長度,僅僅是將元素變爲empty spa
掃一掃 關注個人公衆號【前端名獅】,更多精彩內容陪伴你! prototype