我想知道创建一个具有属性和方法的JavaScript对象的最佳方法是什么.
我已经看到了这个人在所有函数中使用var self = this然后使用的示例,self.以确保范围始终正确.
然后我看到了使用.prototype添加属性的示例,而其他人则使用内联方式.
有人可以给我一个具有一些属性和方法的JavaScript对象的正确示例吗?
警告:创建对本机对象和/或属性的扩展被视为错误形式,并且必然会导致问题.如果您不是仅为您使用的代码,或者您不知道如何正确使用它,请不要使用此代码
我知道你可以使用Object,String,Number,Boolean,等来定义一个方法,是这样的:
String.prototype.myFunction = function(){return this;} //only works on strings.
Run Code Online (Sandbox Code Playgroud)
但我需要做的是在任何值上使用它,并访问函数中的值.
我一派,看着这里,也没有找到什么合适.
2/18/15编辑:如果我使用这个是任何对象的属性,有没有解决方法Object.prototype?
Per Request,这是当前用于的函数isString()
function isString(ins) {
return typeof ins === "string";
}
Run Code Online (Sandbox Code Playgroud)
在几个答案之后,我想出了一些由它引起的代码和错误.
Object.prototype.isString = function() {
return typeof this === "string";
}
"5".isString() //returns false
"".isString() //returns false
var str = "string"
str.isString() //returns false
Run Code Online (Sandbox Code Playgroud)