对于模块而言:能让外部操作的属性/方法就是公有的,只能内部调用的就是私有的
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>03私有与公有属性和方法</title>
<link rel="stylesheet" href="">
</head>
<body>
<script>
/*
私有与公有
*/
var module = (function(){
var infoObj = {
name: 'iwen',
age: 20
}
function getName(){
if (!infoObj.name) {
return;
};
return infoObj.name;
}
function getAge(){
if (!infoObj.age) {
return;
};
return infoObj.age;
}
function setAge(age){
infoObj.age=age;
}
function setName(name){
infoObj.name=name;
}
/*
公有方法:getName、getAge、setAge
私有方法:setName
私有属性:infoObj
定义:能让外部操作的就是公有的,只能内部调用的就是私有的
*/
return {
getName: getName,
getAge: getAge,
setAge: setAge
}
})();
console.log(module.getName());
console.log(module.getAge());
module.setAge(30);
console.log(module.getAge());
module.setName('ice');//调用失败,私有方法
</script>
</body>
</html>