呼叫“;私人的“;方法来自“;“父”;对象
Call "private" method from "parent" object in javascript
在下面的代码中,我需要调用子类Worker
中的"private"方法run
function Person(scope, ...) {
scope.name = "Juan";
var run = function() {
console.log(scope.name + " is running");
};
}
function Worker(scope, ...) {
Person.call(this, scope, ...);
var jumpAndRun = function() {
console.log(scope.name + " is jumping");
run(); // how to call this
};
}
Worker.prototype = Object.create(People.prototype);
目前,如果我调用run
方法,我会得到一个Error: run is not defined!
对不起,不能这样做,除非People
类(应该称为Person
)使该方法可用。
一种常见的做法是使"私有"方法以下划线开头。它并没有100%授予任何安全性,但它至少给了其他开发人员一个暗示,表明它是私有的。
function Person(scope, ...) {
scope.name = "Juan";
var run = function() {
console.log(scope.name + " is running");
};
this._run = run;
}
function Worker(scope, ...) {
Person.call(this, scope, ...);
var jumpAndRun = function() {
console.log(scope.name + " is jumping");
this._run(); // how to call this
};
}
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- 无法获取属性'的值;呼叫':对象为null或未定义IE8
- a href="上的javascript对象对象;javascript:"呼叫
- 未捕获的类型错误:对象#<LanPartys>没有方法'呼叫'
- 未捕获类型错误:对象“function()”没有方法'呼叫'
- 呼叫“;私人的“;方法来自“;“父”;对象