Heim > Web-Frontend > js-Tutorial > js 对象外部访问或者调用问题_javascript技巧

js 对象外部访问或者调用问题_javascript技巧

WBOY
Freigeben: 2016-05-16 18:58:20
Original
1202 Leute haben es durchsucht

以下是我的代码:

<script> <BR>abc = function(){ <BR>this.a; <BR>this.b; <BR>} <BR>abc.prototype = { <BR>getData:function(){ <BR>var c = function(num){ <BR>alert(num); <BR>this.b = num; <BR>} <BR>c('12345'); <BR>}, <BR>clearData:function(){ <BR>this.getData(); <BR>alert(this.b); <BR>} <BR>} <BR>var d = new abc(); <BR>d.clearData(); <BR></script>
这部分中:
var c = function(num){
alert(num);
this.b = num;
}
c('12345');
我想把得到的num传给开始定义好的this.b; 但这样是不行的,不知怎么写一下可以? 现在的格式不能改,能改的只有 c = function(){ 这里边的东西}

可以这样理解:引用:
function functionName(arg){……};

functionName(argvalue);以这种形式使用函数,是大家最熟悉的。

“()”(括号)可以把包裹在其中的语句变成一个“名词”。引用:
(function(形参){函数体})把一个匿名函数包裹在括号里,使它对于代码的其他部分来说,就相当于是一个“名词”。

于是,引用:
(function(形参){函数体})(实参)就和上面最普通的引用:
函数名(实参)的用法一样容易理解了,是定义了一个匿名函数并且立即调用的意思。引用:
c = (function(which){return function(num){alert(num);which.b = num}})(this)定义了一个匿名函数并且立即调用,这个函数返回一个匿名函数,返回的函数被赋名为c。
这里把 this对象 作为实参传递给 形参which,就把 abc实例对象 的引用提供给内部的匿名函数了。
于是c就成为一个能够访问 abc实例对象 的函数了。
技术文,偶喜欢
也可以这样写


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

用bind方法

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage