点击切换帐号登陆
帐号密码登陆

对象字面量的私有属性与特权方法

4.对象字面量的私有属性和特权方法
==========================

**知识点**
1.全局对象
2.自执行函数

------------------------------------------------

1.全局对象
--------
- 定义在函数之外的变量
- 作用域是贯穿整个应用的生命周期,处处可见

------------------------------------------------

2.自执行函数
----------
- 声明之后立即调用
- 可访问全局变量

> 该方式是: **模块模式** 的技术支撑,非常重要
------------------------------------------------

### 示例代码: code/demo04.html

```html
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>对象字面量的私有属性与方法</title>
</head>
<body>
<script>
    // 对象字面量
    var obj1 = {
        prop: 'property',
        method: function () {
            return this.prop;
        }
    };
    console.log(obj1.prop);
    console.log(obj1.method());

    // 创建一个对象,我们的目标是将一个可以访问私有属性的特权方法做为属性赋值给它
    var obj2 = {};  // 对象

    // 创建自执行函数,将函数中的特权方法(可访问局部变量)赋值给外部对象
    (function () {
        // 私有成员
        var name = 'peter';

        // 公共方法, 给全局变量obj2赋值
        obj2 = {
            //特权方法
            getName: function () {
                return name;
            }
        };
    }());

    // 外部对象只能通过访问这个特权方法来访问私有属性
    var res1 = obj2.getName();
    console.log(res1);

    // 如果你不习惯以上语法,也可以这样改写一下,效果是一样的
    var obj3 = (function (){
        // 私有成员
        var name = 'peter';

        // 公共方法, 给全局变量obj3赋值
        return  {
            //特权方法
            getName: function () {
                return name;
            }
        };
    }());

    var res2 = obj3.getName();
    console.log(res2);
</script>
</body>
</html>
```


任务

?不会了怎么办
无数据提示暂无评论哟...我要评论
网站导航
网站首页
学习路径
视频教程
开发软件
旗下子站
php中文网
phpstudy
技术文章
文档工具
关于我们
企业合作
人才招聘
联系我们
讲师招募
QQ交流群
QQ交流群
微信公众号
微信公众号