尚学堂requireJs课程---3、私有和公有属性和方法

尚学堂requireJs课程---3、私有和公有属性和方法

一、总结

一句话总结:

在 【模块】 的基础上,在return对象里面的方法和属性就是公有的(因为外部可以访问),不在的就是私有的
<script type="text/javascript">
/*
  私有与公有
*/
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){
    if(age){
      infoObj.age = age;
    }
  }

  function setName(name){
    infoObj.name = name
  }
  /*
    公有方法:getName,getAge,setAge
    私有方法:infoObj
  */
  return{
    getName:getName,
    getAge:getAge,
    setAge:setAge,
    // setName:setName
  }

})();

console.log(module.getName());
console.log(module.getAge());
module.setAge(30);
console.log(module.getAge());
// module.setName("ice");  // 错误

</script>

二、内容在总结中

 1 <!DOCTYPE html>
 2 <html lang="en" dir="ltr">
 3   <head>
 4     <meta charset="utf-8">
 5     <title></title>
 6   </head>
 7   <body>
 8     <script type="text/javascript">
 9       /*
10         私有与公有
11       */
12       var module = (function(){
13         var infoObj = {
14           name:'iwen',
15           age:20
16         }
17 
18         function getName(){
19           if(!infoObj.name){
20             return;
21           }
22           return infoObj.name;
23         }
24         function getAge(){
25           if(!infoObj.age){
26             return;
27           }
28           return infoObj.age
29         }
30 
31         function setAge(age){
32           if(age){
33             infoObj.age = age;
34           }
35         }
36 
37         function setName(name){
38           infoObj.name = name
39         }
40         /*
41           公有方法:getName,getAge,setAge
42           私有方法:infoObj
43         */
44         return{
45           getName:getName,
46           getAge:getAge,
47           setAge:setAge,
48           // setName:setName
49         }
50 
51       })();
52 
53       console.log(module.getName());
54       console.log(module.getAge());
55       module.setAge(30);
56       console.log(module.getAge());
57       // module.setName("ice");  // 错误
58 
59     </script>
60   </body>
61 </html>
 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/11610527.html