调用某个js方法里的方法

您所在的位置:网站首页 javascript如何调用方法 调用某个js方法里的方法

调用某个js方法里的方法

2023-08-26 20:03| 来源: 网络整理| 查看: 265

var a = function(){ function b(){...} function c(){...} }

如何调用了a方法里的c方法,而不会调用到b方法,如果实例化a方法的话,b方法是会被执行的。

解决方案:

1  

var a = function() { function b() {...} function c() {...} return { b: b, c: c } } var obj = a(); obj.c();

 2

var a = (function(){ var a = { b:function(){ console.log('b'); }, c:function(){ console.log('c'); } } return a; })(); a.c();//

 3     用闭包挂载到全局?

(function(window){ var a = window.a = {}; a.b = function(){...} a.c = function(){...} })(window);

调用的话,直接a.b() 即可。

4    这样写感觉有点坑, 写的js最好用对象的方法.

// 构造对象a a有方法b和c var a = { b: function() {document.write('b')}, c: function() {document.write('c')} } // 调用函数 a.b(); a.c();

有些概念对我是模棱两可的,我觉得楼主提了个好问题,帮我重新疏理了一下盲点。

先说我的解决方法:

var temp=function a(){ this.b=function b(){ console.log('b'); } this.b=function c(){ console.log('c'); } } var t=new temp(); t.b();

知识点疏理, 1.函数内部的变量又称私有变量或私有函数,是在外部访问不到的

function Test(){ var color = "blue";//私有变量 var fn = function(){} //私有函数 }

2.函数的属性称为静态变量,函数实例化的对象(var  f=new fn();)无法访问原型的静态变量

function Obj(){} Obj.num = 72;//静态变量 Obj.fn = function(){} //静态函数 alert(Obj.num);//72 alert(typeof Obj.fn)//function var t = new Obj(); alert(t.name);//undefined alert(typeof t.fn);//undefined

3.构造函数本身是无法访问其自身的值,实例化对象可以,

function Obj(){ this.a=[]; //实例变量 this.fn=function(){ //实例方法 } } console.log(typeof Obj.a); //undefined console.log(typeof Obj.fn); //undefined var o=new Obj(); console.log(typeof o.a); //object console.log(typeof o.fn); //function

我大概看了一下上面的解决方法,有函数返回值,构造对象,也有用闭包挂载到全局的。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3