js怎么在私有方法里调用公有方法

JavaScript027

js怎么在私有方法里调用公有方法,第1张

function fun(){

var _this = this

//如果函数是用var定义的私有函数,如下

var func1 = function(){ }

//那么类中其他函数都可以直接通过func1()的形式调用

//如果函数是共有的,即用this定义,如下

this.func2 = function(){ }

/*则需要得到func对像的引用,即fun中的this(注意:是fun中的).

然而到了调用者函数(如下的caller)内部时,this指的是caller函数而不再是fun,所以可以考虑在fun中定义一个私有变量 var _this = this 来保证指向的是fun

*/

//例子:在this.caller中调用类中的其他函数

this.caller = function(){

func1()//私有函数直接调用

_this.func2()//公共函数,需要fun的this的指向

}

}

//希望能帮到你

data的规则中设置表达式时可以调用当前model中的定义的函数,调用方式可以用$model.函数名

如:js中定义了一个fCodeRule函数

123456

Model.prototype.fCodeRule = function(value) {if (value === 'test') {return value } elsereturn 'testabc'}

规则中可以通过$model.fCodeRule($row.val(“fName”))调用

如果是定义了一个ADM格式的公共js,要在规则中调用公共js中的数据,不能只引用js文件就可以,需要

1.引用公共的js文件

2.在model的构造函数中定义变量

3.在规则中通过$model.定义的变量.函数名

如下:

define(function(require) {var $ = require("jquery") var justep = require("$UI/system/lib/justep") var OA = require("$UI/OA/common/js/pub")var Model = function() {this.callParent() this.OA = OA }

规则中通过$model.OA.XXX()调用