1

我正在尝试模仿一个 JQuery 库(出于学习目的),但我坚持以下几点:

function _(id){
var about={
version:"1.0",
author:"Samson"
}
if (this===window)
    return new _(id);
if (!id) 
    return about;
if (typeof id=="string")
    this.element=document.getElementById(id);
else
    this.element=id;

return this;
}

_.prototype={
    append:function(str){
        this.element.innerHTML+=str;
        return this;
    },
    post:function(url){
        alert('posting to: '+url);
    }
}

我可以这样使用:

_("a1").append(' deescription');

但我希望能够在不调用构造函数的情况下使用 post 函数:

_.post('url') //post is in the prototype but is undefined because the constructor is not called right? 
4

1 回答 1

4

您将需要对其自身进行定义post_而不是对其原型进行定义。

_.post = function(url) { ... }
于 2012-09-08T21:27:04.183 回答