0
<div id="a"></div><br>
<div id="b"></div>
<script>
function Con(id){
this.id = id;
var me = this;
x = function(){ // public function
console.log(this.id)
}.bind(this);
this.y= function(){ // public function
console.log(me)
html = "<a href='javascript:void(0)' id='mycls-"+this.id+"' onclick='x()'>hello-"+this.id+"</a>";
document.getElementById(this.id).innerHTML = html;
}
this.y();
}
var v = new Con("a");
var v1 = new Con("b");
</script>
我有javascript構造函數我想從y公共函數內部的鏈接調用x公共函數。我想得到正確的ID EX:如果我點擊一個div,它應該控制一個,或者如果我點擊b div,它應該控制檯b,但它總是隻控制b。我們如何在javascript中使用事件處理程序調用公共函數內的公共函數
我不知道我理解你的問題,但你一定要明白由於變量範圍,「x」函數現在不公開嗎?如果你希望它是公開的,它應該是「this.x」。 –
它只打印「b」,因爲第3行:var me = this; * this *指向新創建的對象,因此通過將其存儲在一個變量中,您將始終獲得最新的實例(在本例中爲「b」) –
如果我調用像this.x()這樣的函數,它會給出如下錯誤:Uncaught TypeError:this.x不是函數(...) –