js中class类与原生构造函数相比的优缺点
一、原生构造函数
1.1 构造函数的概念
构造函数是一个普通的函数,与其他函数没有任何区别,它也可以进行调用,它只是概念上的一个定义,使用它用来实例化对象。
1.2原生的构造函数的缺点
- 构造函数和原型结构分离(不便于维护)
- 构造函数原型里面的属性可以被遍历
- 原型里面的方法也可以作为构造函数
- 构造函数可以直接当做普通函数调用 (功能性不明显)
代码如下:(构造函数和原型结构分离 不便于维护):
<script>
function Person(name, age) {
this.name = name;
this.age = age;
console.log(520);
}
Person.prototype.toString = function() {
console.log(this.name , this.age);
}
var person = new Person("Roddy", 21);
</script>
构造函数原型里面的属性可以被遍历
for(var key in Person.prototype) {
console.log(key);
}