请问prototype原型链中怎么访问该函数的属性值?

piovt25728 2016-07-18 09:53:37


如上图所示,我要在一个原型上存一个jQuery dom对象,然后第二个参数是各个属性的集合对象,这时侯也不能用this访问,请问怎么才能访问本构造函数之前设置的属生呢??不胜感激!
...全文
211 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_14875589 2016-07-18
  • 打赏
  • 举报
回复
因为,你并没有声明NIceSlider的opts属性,原因是类里面的this.opts中的this指的在没有new NiceSLider之前指的不是NiceSlider
qq_14875589 2016-07-18
  • 打赏
  • 举报
回复
而你之前那句NiceScroll.SLider =$();程序运行到这时,没有创建NiceSlider对象,所以NiceSlider.opts是不存在的。
qq_14875589 2016-07-18
  • 打赏
  • 举报
回复
是可以指,我说的是只有new NiceSCroll()之后,this才是指向这个对象,没有new的话,this指的是上一级的对象。
piovt25728 2016-07-18
  • 打赏
  • 举报
回复
引用 7 楼 qq_14875589 的回复:
主要是,没有实例化NiceScroll对象时,this指的不是这个类
你说的是赋值变量名方法声明函数this不指这个类吗?指啊!可以指向的
qq_14875589 2016-07-18
  • 打赏
  • 举报
回复
主要是,没有实例化NiceScroll对象时,this指的不是这个类
qq_14875589 2016-07-18
  • 打赏
  • 举报
回复
如果不用return的话,那就不要写在原型链里了,直接在NiceScroll里写this.slider = $()
qq_14875589 2016-07-18
  • 打赏
  • 举报
回复
区别是有的,function Example(){}这种方式属于函数声明,会在js运行开就读取,所以可以在它前面写Example.default 而你那种是赋值的形式,只有js执行到那条语句时才会有Example这个类,就不能在前面对Example进行引用。
piovt25728 2016-07-18
  • 打赏
  • 举报
回复
引用 1 楼 qq_14875589 的回复:
因为你还没有实例化对象,所以this指的是你上面声明的字面量对象{}。而且声明一个类都是function Example(){}的形式,而不是赋值的写法。然后在里面写this.Default ={}。
除了用函数return之外没有其它办法了对吗?另外,用变量名赋值写函数方法跟写function Example(){}的方式不是一样的吗?没什么大区别吧?
qq_14875589 2016-07-18
  • 打赏
  • 举报
回复
代码有的地方没写完整,你自己补上
qq_14875589 2016-07-18
  • 打赏
  • 举报
回复
代码 NiceScroll.prototype.slider = function() { return $("div", this.opts.ScrollSlider); }; 创建NiceScroll对象之后,调用这个方法就能得到你要的dom对象。
qq_14875589 2016-07-18
  • 打赏
  • 举报
回复
因为你还没有实例化对象,所以this指的是你上面声明的字面量对象{}。而且声明一个类都是function Example(){}的形式,而不是赋值的写法。然后在里面写this.Default ={}。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧