0
点赞
收藏
分享

微信扫一扫

nginx 设置跨域

zidea 1天前 阅读 0

js中构造函数创建对象

JavaScript本身并不是设计成面向对象的,所以没有class之类的关键字用来定义类,但JavaScript本身相当灵活,可以利用function关键字来定义类并创建对象。

例如js创建person对象

通过new关键字,把函数当成了创建对象的构造函数

function Person(name) {
	this.name = name;
}
		 
var person = new Person('小黑黑');
console.log(person.name);

等价python写法

class Person(object):
	def __init__(self, name):
		self.name = name
person = Person('小黑黑')
print(person.name)

通过构造函数封装对象属性的getter和setter方法

1.通过Object.keys获取对象的属性。
2.通过for循环对每个属性设置getter和setter方法。

		// 定义对象
		let data = {
			name: '小黑无敌酒量',
			age: 25,
			attr: '酒量无敌'
		}
		// 通过js构造函数,封装data对象,增加属性getter和setter方法
		function Obsever(obj){
			// 获取obj的所有属性的key
			const keys = Object.keys(obj);
			// 对于每个属性,都添加getter和setter方法
			keys.forEach((k)=>{
				Object.defineProperty(this, k, {
					get(){
						return obj[k];
					},
					set(val){
						console.log(`小黑黑修改了${k}的值哦,从${obj[k]}变成了${val}`);
						obj[k] = val;
					}
				})
			})
		}
		// 封装data函数
		data = new Obsever(data);

在这里插入图片描述
在这里插入图片描述

举报

相关推荐

Nginx 跨域设置(CORS)

nginx跨域

Nginx跨域配置

nginx解决跨域

nginx配置跨域

Flask设置跨域

0 条评论