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
			| 
								 
											3 years ago
										 
									 | 
							
								<!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>
							 |