js 面向对象中的函数相互之间如何调用

JavaScript090

js 面向对象中的函数相互之间如何调用,第1张

用Function.prototype.bind即可

比如this.ele.addEventListener('touchstart', this.selectmouse.bind(this))

定义在Dumplings.prototype里的函数如果作为Dumplings实例的方法调用,其this指针会指向Dumpling实例。

但作为参数传递给其他函数(比如addEventListener)时其this指针会被重置,由addEventListener控制。

你需要在prototype里的函数里调用其它同级的函数,this就应当指向Dumplings实例,用this.ele来绑定事件和访问事件的对象,这样才能通过this来访问其他同级对象。为防止addEventListener改变this的指向,需要用bind固定下来。

调用的时候传递参数就可以了

如:

<script>

var oo = new Object ()

oo.name = abc

function abc(id){

alert(id)

}

oo.name(2)

</script>

这个就涉及到闭包了,一种你可以在外部定义一个对象,在函数内部把要调用的那个function赋值给这个对象上面,在外面就可以通过这个对象来调用了,一种通过构造函数,这个构造函数就是外部的那个function,把里面的function赋给这个创建的对象,通过外部构造函数创建的对象也可以调用里面的函数