以下是我的代码: <script> abc = function(){ this.a; this.b; } abc.prototype = { getData:function(){ var c = function(num){ alert(num); this.b = num; } c('12345'); }, clearData:function(){ this.getData(); alert(this.b); } } var d = new abc(); d.clearData(); </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需刷新才能执行]
推荐阅读
Js callBack 返回前一页的js方法
从页面a.html到页面b.html a.html 复制代码 代码如下:<html> <head> <title>a</title> <script language = "javascript"> function callBack(){ alert("Come back !"); } </script> </head> <body> <a href="b.htm>>>详细阅读
本文标题:js 对象外部访问或者调用问题
地址:http://www.17bianji.com/kaifa2/JS/29174.html
1/2 1