<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>私有属性和共公有属性</title>
</head>
<body>
<script>
function Person(){
this.name = "zhangsan"
this.say = function(){}
}
var person1 = new Person();
var person2 = new Person();
// 在构造函数中通过this添加的属性都是私有属性
// 公有属性toString
// in 判断某个属性是否属于某个对象, 如果有返回true, 没有返回false
// hasOwnProperty 判断是否有某个私有属性,如果是该对象的私有属性返回true,否则返回false
// 对象.hasOwnProperty("属性名")
// console.log("toString" in person1);
console.log(person1.hasOwnProperty("toString"));
function hasPubProperty(obj, attr){
// 1、前提是attr一定是obj的一个属性
// if(attr in obj && !obj.hasOwnProperty(attr)){
// return true;
// }else{
// return false;
// }
// 2、排除私有属性
// 判断条件 ? 条件成立时执行的代码 : 条件不成立是执行的代码
return attr in obj && !obj.hasOwnProperty(attr) ? true : false;
};
// 检测对象的公有属性
hasPubProperty(obj, "height");
</script>
</body>
</html>
复制代码
公有属性和私有属性
程序员文章站
2022-07-13 22:42:41
...