美文网首页
javascript私有变量

javascript私有变量

作者: 何心猿意马 | 来源:发表于2018-03-27 22:57 被阅读0次

什么是私有变量?

  • 在javascript中没有公有成员的概念,所有的属性都是公有的。但是,在函数中定义的变量都可以认为是私有变量,因为不能再函数的外部访问这些变量。

  • 私有变量包括函数的参数,局部变量和在函数内部定义的其他函数。

function add(num1,num2){
  var sum = num1 + num2;
  return sum;
}

在函数内部可以访问这几个参数、变量,在函数外面访问不了!

如果在这个函数内部创建一个闭包,那么闭包通过自己的作用域链就可以访问这些变量。

  • 利用这一点就可以创建用于访问私有变量的公有方法了

我们把有权访问私有变量和私有函数的公有方法称为特权方法

方法一:在构造函数中创建特权方法

function myObject(){
    // 私有变量
    var privateVariable = 10;
    // 私有函数
    function privateFunction() {
        return false;
    }
    // 特权方法
    this.publicMethod = function(){
      privateVariable++;
      return privateFunction();
    }
}

这个模式是在构造函数内部定义了私有变量和函数,又创建了能够访问这些私有变量和函数的特权方法。
能够在构造函数内部定义特权方法,是因为特权方法作为闭包有权访问在构造函数内定义的私有变量和私有函数。

命名约定

创建私有变量的方式?

相关文章

  • JavaScript函数闭包

    JavaScript闭包 JavaScript 变量可以是局部变量或全局变量。私有变量可以用到闭包。 全局变量1....

  • javascript私有变量

    什么是私有变量? 在javascript中没有公有成员的概念,所有的属性都是公有的。但是,在函数中定义的变量都可以...

  • 【javascript】私有变量

    严格来讲,JavaScript 中没有私有成员的概念;所有对象属性都是公有的。 有一个私有变量的概念。任何在函数中...

  • JS 闭包(Closure)

    JavaScript 变量可以是局部变量或全局变量。私有变量可以用到闭包。 简单点说闭包就是JS中用来实现私有变量...

  • javascript中闭包是什么

    javascript中闭包是什么 JavaScript 变量可以是局部变量或全局变量。私有变量可以用到闭包。闭包就...

  • JavaScript闭包

    JavaScript闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰。就...

  • JavaScript 闭包

    JavaScript 变量可以是局部变量或全局变量。私有变量可以用到闭包。 全局变量 函数可以访问由函数内部定义的...

  • JacaScript 私有变量(一)什么是私有变量

    严格来讲,JavaScript 中没有私有成员的概念;所有对象属性都是公有的。不过,倒是有一个私有变量的概念。 任...

  • JavaScript函数_07 私有变量 + 私有函数 + 特权

    私有变量 使用 var 关键字声明在函数内部的变量称为私有变量 私有函数 在函数内部声明的函数称为私有函数 特权方...

  • 作用域链

    查找私有变量 JS中的私有变量有且只有两种在私有作用域变量提升阶段,声明过的变量(或者函数)形参也是私有变量 [图...

网友评论

      本文标题:javascript私有变量

      本文链接:https://www.haomeiwen.com/subject/ansecftx.html