源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-05-27 06:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:js 对象外部访问或者调用问题
以下是我的代码: <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 全选 注:[url=http://www.1sucai.cn/article/23421.htm]如需引入外部Js需刷新才能执行[/url]]
用bind方法
[Ctrl+A 全选 注:[url=http://www.1sucai.cn/article/23421.htm]如需引入外部Js需刷新才能执行[/url]]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部