JavaScript嚴格模式(三)- 物件的禁止操作
JavaScript嚴格模式(三)
在嚴格模式下哪些關於物件的操作是禁止的
不可刪除的屬性
在嚴格模式下,不能使用delete運算子刪除不可刪除的屬性
//開啟嚴格模式
"use strict"
delete Object.prototype;//刪除Object裡邊的原型
console.log(Object.prototype);//直接報錯
屬性名必須唯一
在嚴格模式下,一個物件內的所有屬性名在物件內必須唯一。
//開啟嚴格模式
"use strict"
//建立一個物件
var obj = {
name:'第一個屬性';
name:'第二個屬性';
}
console.log(obj.name);//第二個屬性
在開啟嚴格模式下,物件具有相同名稱的屬性時,執行時並不會報錯,但是編輯器會顯示報錯,這種寫法也沒有意義
只讀屬性的賦值
在嚴格模式下,不能為一個只讀的屬性進行重新賦值
//開啟嚴格模式
"use strict"
//建立一個物件
var obj = {
name:'milk'
}
//判斷當前指定的屬性是否為只讀屬性
var result = Object.getOwnPropertyDescriptor(obj,'name');
console.log(result);
//結果{value: 'milk', writable: true, enumerable: true, configurable: true} - 可以修改
//但是我們使用getOwnPropertyDescriptor()方法建立的物件屬性是隻讀屬性
Object.defineProperty(obj,'age',{
value:18
});
//然後針對只讀屬性age進行修改操作
obj.age = 80;
console.log(obj.age);//報錯
在非嚴格模式下 - 改變針對age只讀屬性的修改操作不會報錯,但是值還是18,我們管這種問題叫做靜默失敗
不可擴充套件的物件
在嚴格模式下,不能為不可擴充套件的物件新增新屬性
//開啟嚴格模式
"use strict"
//建立一個物件
var obj = {};
//設定物件obj是一個不可擴充套件的物件
Object.preventExtensions(obj);
//為物件obj新增屬性或方法
obj.name = 'milk';
console.log(obj);//直接報錯
在非嚴格模式下,還是靜默失敗
相關文章
- JavaScript嚴格模式JavaScript模式
- JavaScript 嚴格模式JavaScript模式
- JavaScript 中的 嚴格模式JavaScript模式
- Javascript 嚴格模式詳解JavaScript模式
- javascript嚴格模式下eval()的變化JavaScript模式
- javascript嚴格模式下的8點規則JavaScript模式
- 嚴格模式和非嚴格模式區別模式
- 嚴格模式模式
- javascript如何設定嚴格模式的作用範圍JavaScript模式
- 透過觸發器禁止模式物件的DDL操作觸發器模式物件
- JS '嚴格模式'JS模式
- 你不知道的JavaScript--Item1 嚴格模式JavaScript模式
- 嚴格模式下this的指向模式
- 嚴格模式use strict模式
- js嚴格模式下的this指向,es6模組預設使用嚴格模式JS模式
- 聊一聊JavaScript中的嚴格模式與相關的‘坑’JavaScript模式
- JavaScript建立物件(三)——原型模式JavaScript物件原型模式
- ECMAScript嚴格模式簡介模式
- 嚴格模式下this的指向問題模式
- 如何禁止JavaScript物件重寫?JavaScript物件
- JS專題之嚴格模式JS模式
- JSON.parse () 的非嚴格模式JSON模式
- 好程式設計師web前端教程之詳解JavaScript嚴格模式程式設計師Web前端JavaScript模式
- JavaScript各類參考手冊+除錯+嚴格模式+使用誤區JavaScript除錯模式
- 養成一個好習慣:在嚴格模式下開發Javascript模式JavaScript
- 嚴格模式對parseInt()函式的影響模式函式
- 嚴格模式下對於this指向的影響模式
- web基礎(四)嚴格模式與混雜模式Web模式
- javascript操作物件的方法JavaScript物件
- 嚴格模式下對變數宣告的影響模式變數
- JS 基礎篇(五):JS嚴格模式JS模式
- 嚴格模式下變數宣告注意點模式變數
- JavaScript物件導向—物件的建立和操作JavaScript物件
- 操作複雜物件結構——訪問者模式(三)物件模式
- JavaScript ----- 操作DOM物件的屬性JavaScript物件
- MySQL SELECT list is not in...MySQL關閉嚴格模式MySql模式
- javascript建立物件的三種方式JavaScript物件
- javascript對錶格的操作總結1JavaScript