zoukankan      html  css  js  c++  java
  • js 属性类型之数据属性

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    	<body>
    		<script type="text/javascript">
    			//对象的属性类型
    			//对象分为数据属性和访问器属性
    			//1、数据属性:[[Configurable]]、[[Enumerable]]、[[Writable]]、[[Value]]
    			//	Configurable是否可以通过delete删除属性
    			//	Enumerable可否for-in
    			//	Writable能否修改属性值
    			//	Value读取这个属性的数据值
    			
    			var person = {
    				name: "宝清老窖",
    			}
    			//创建一个person对象,该对象创建了一个名为name的属性,值为“宝清老窖”。
    			//也就是说,[[Value]]特性将被设置为“宝清老窖”
    			
    			//要修改属性默认的特性,必须使用ECMAScript5的Object.defineProperty()
    			//改方法包含三个参数,1、属相所在的对象;2、属性的名字;3一个描述符;
    			//其中描述符(descriptor)对象的属性必须是:configurable、enumerable、writable、value
    			var person = {};	//writable
    			Object.defineProperty(person , "name" , {
    				writable: false,
    				value: "宝清老窖"
    			});
    			alert(person.name);		//宝清老窖
    			person.name = "金宝清";
    			alert(person.name);		//宝清老窖
    			
    			var person2 = {};	//Configurable
    			Object.defineProperty(person2 , "name" , {
    				configurable: false,
    				value: "宝清老窖"
    			});
    			alert(person2.name);
    			delete person2.name;
    			alert(person2.name);
    			//当configurable为false的时候,不能用delete删除
    			//如果用delete删除,在非严格模式下什么都不会发生,在严格模式下会报错
    			
    			//一旦把configurable变为false就不能再变回true了,会报错
    			var person3 = {};
    			Object.defineProperty(person3 , "name" , {
    				configurable: false,
    				value: "宝清老窖"
    			});
    			Object.defineProperty(person3 , "name" , {
    				configurable: true,			//会报错
    				value: "宝清老窖"
    			});
    			//
    		</script>
    	</body>
    </html>
    

      提取出js部分

        //对象的属性类型
    			//对象分为数据属性和访问器属性
    			//1、数据属性:[[Configurable]]、[[Enumerable]]、[[Writable]]、[[Value]]
    			//	Configurable是否可以通过delete删除属性
    			//	Enumerable可否for-in
    			//	Writable能否修改属性值
    			//	Value读取这个属性的数据值
    			
    			var person = {
    				name: "宝清老窖",
    			}
    			//创建一个person对象,该对象创建了一个名为name的属性,值为“宝清老窖”。
    			//也就是说,[[Value]]特性将被设置为“宝清老窖”
    			
    			//要修改属性默认的特性,必须使用ECMAScript5的Object.defineProperty()
    			//改方法包含三个参数,1、属相所在的对象;2、属性的名字;3一个描述符;
    			//其中描述符(descriptor)对象的属性必须是:configurable、enumerable、writable、value
    			var person = {};	//writable
    			Object.defineProperty(person , "name" , {
    				writable: false,
    				value: "宝清老窖"
    			});
    			alert(person.name);		//宝清老窖
    			person.name = "金宝清";
    			alert(person.name);		//宝清老窖
    			
    			var person2 = {};	//Configurable
    			Object.defineProperty(person2 , "name" , {
    				configurable: false,
    				value: "宝清老窖"
    			});
    			alert(person2.name);
    			delete person2.name;
    			alert(person2.name);
    			//当configurable为false的时候,不能用delete删除
    			//如果用delete删除,在非严格模式下什么都不会发生,在严格模式下会报错
    			
    			//一旦把configurable变为false就不能再变回true了,会报错
    			var person3 = {};
    			Object.defineProperty(person3 , "name" , {
    				configurable: false,
    				value: "宝清老窖"
    			});
    			Object.defineProperty(person3 , "name" , {
    				configurable: true,			//会报错
    				value: "宝清老窖"
    			});
    			//            
    

      

  • 相关阅读:
    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方法
    Ubuntu 修改host并重启网络
    Ubuntu批量修改权限
    win10 vm 11 桥接模式配置
    Ubuntu获取root 权限,开机自动登入root
    ptxas fatal : Unresolved extern function Error 255
    Ubuntu 16.04 LTS安装 TeamViewer
    SSD win7优化步骤
    正则表达式
    C语言中,float在内存中的储存方式
  • 原文地址:https://www.cnblogs.com/xudy/p/5417151.html
Copyright © 2011-2022 走看看