- 抽象性:从对象分析业务
- 封装性:将属性封装到对象中,方便维护,统一管理 便于二次开发 提高安全性
- 继承性:讲对象的属性和方法进行传递
- 多态性:一个类可以产生多种对象 js无法做到
封装性:属性分为两大类
共有属性:任何人在任何位置都可以得到数据并且更改
私有属性:必须在得到某种权限之后才可以进行查看和修改 提高安全性
例:邮箱私有属性
function User(name, email) {
this.name = name
this.email = email
this.getEmail = function (user) {
if (user.name == "张三") {
return this.email
} else {
console.log("权限不够")
}
}
this.setEmail = function (email1) {
var newEmail = /^[A-Za-z0-9-._]+@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,6})$/
if (newEmail.test(email1)) {
this.email = email1
} else {
console.log("邮箱格式不正确")
}
}
}
// User.prototype.showInfo(){
// console.log(this)
// }
var user = {
name: "张三"
}
var u1 = new User("张三", "19917@qq.com")
console.log(u1.getEmail(user))
u1.setEmail("27770qq@qq.com")
console.log(u1.getEmail(user))