You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							47 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							47 lines
						
					
					
						
							1.2 KiB
						
					
					
				| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
|     <meta charset="UTF-8"> | |
|     <title>回顾Object.defineProperty方法</title> | |
|     <script type="text/javascript" src="../vue.js"></script> | |
| </head> | |
| <body> | |
| <div id="root"> | |
| 
 | |
| </div> | |
| <script type="text/javascript"> | |
|     Vue.config.productionTip = false | |
|     let number = 18 | |
|     let person = { | |
|         name: 'Roger', | |
|         sex: 'male', | |
|         // age: '18' | |
|     } | |
|     Object.defineProperty(person, 'age', { | |
|         // value: '18', | |
|         // enumerable: true,  // 控制是否可迭代遍历 | |
|         // writable: true,  // 控制是否可以修改 | |
|         // configurable: true  //控制是否可以删除 | |
|  | |
|         // get: function () 用于当调用的时候再获取值,可以简写为 get() {} | |
|         get: function () { | |
|             console.log('获取age') | |
|             return number | |
|         }, | |
|         // set function() 用于修改数据是调用 可以简写 set() | |
|         set(value) { | |
|             console.log('新的值为', value) | |
|             number = value | |
|         } | |
|     }) | |
|     console.log(Object.keys(person)) | |
|     console.log(Object.keys(person).length) | |
|     for (let key in person) { | |
|         console.log(key) | |
|         console.log('@', person[key]) | |
|     } | |
| 
 | |
|     console.log(person) | |
| </script> | |
| </body> | |
| </html> |