Javascript对象原型错误

Javascript对象原型错误,javascript,object,prototype,Javascript,Object,Prototype,我需要这个对象的新方法。我正试图创造它: Object.prototype.getByPath = function (path, other) { for (var i=0, obj=this, path = path.split('.'), len=path.length; i<len; i++) { obj = obj[path[i]]; } return (typeof obj === "undefined" || obj == "") ?

我需要这个对象的新方法。我正试图创造它:

Object.prototype.getByPath = function (path, other) {
    for (var i=0, obj=this, path = path.split('.'), len=path.length; i<len; i++) {
        obj = obj[path[i]];
    }
    return (typeof obj === "undefined" || obj == "") ? other : obj;
}
如何解决此错误

与另一个js文件冲突

是的,之所以会这样,是因为它正在向所有对象添加新方法,而不是尝试为所有客户端javascript对象创建自己的基础对象

var yourBaseObj={
  getByPath :function (path, other) {
    for (var i=0, obj=this, path = path.split('.'), len=path.length; i<len; i++) {
        obj = obj[path[i]];
    }
    return (typeof obj === "undefined" || obj == "") ? other : obj;
  }
}

你能发布一个演示来重现这个问题吗?你确定要添加到
对象
原型吗??这会将
getByPath
方法添加到所有objectsYeah,不建议这样做(甚至没有效率)。你知道解决这个问题的正确方法吗?我猜“从这一行开始”以
()结尾+1,但这也是因为“其他库”在使用for..in时未对继承的属性采取预防措施。
var yourBaseObj={
  getByPath :function (path, other) {
    for (var i=0, obj=this, path = path.split('.'), len=path.length; i<len; i++) {
        obj = obj[path[i]];
    }
    return (typeof obj === "undefined" || obj == "") ? other : obj;
  }
}
function YourNewObject(){

}
YourNewObject.prototype=yourBaseObj