1
Constructor1=function(){};
Constructor1.prototype.function1=function this_function()
{
// Suppose this function was called by the lines after this code block
// this_function - this function
// this - the object that this function was called from, i.e. object1
// ??? - the prototype that this function is in, i.e. Constructor1.prototype
}
Constructor2=function(){};
Constructor2.prototype=Object.create(Constructor1.prototype);
Constructor2.prototype.constructor=Constructor2;
object1=new Constructor2();
object1.function1();
如何在不知道構造函數名稱的情況下檢索最後一個引用(用???表示)?例如,假設我有一個從原型鏈繼承的對象。當我調用一個方法時,我可以知道使用哪個原型嗎?JavaScript函數可以引用原型鏈上的原型嗎?
這兩個看起來理論上可能,但我找不到任何工作沒有超過常數的賦值語句(如果我有很多這樣的功能)。
看到我上面的編輯...我澄清了一點 – user1537366 2012-07-19 10:47:32
@ user1537366:看到我的更新。 – 2012-07-19 10:58:56
嗯,這有點像做瀏覽器已經做的事情,所以我很驚訝沒有更好的辦法......另外,你將如何找出我最初想要的是什麼?是這樣嗎? 'get_prototype_containing(this,this_function.toString()。substring(「function」.length,this_function.toString()。indexOf(「(」)))? – user1537366 2012-07-19 11:32:40