当我使用String构造函数时,我总是想知道它是如何制作的。它返回的字符串作为参数指定,尽管它与“new”运算符类似:构造函数返回值不是“[Object object]”
var str = new String("Hello World")
//str == "Hello World"
如果我做一个构造函数,我给它返回一个返回值的对象实例化时:
function CreateString(st) {
return ''+st
}
var MyString = new CreateString("Hello there!")
//MyString == "[Object object]"
我怎样才能创建一个返回除此之外值的构造函数[Object对象] ?
更新: 我试图创建一个具有两个属性的值等本身就是一个构造函数:
function MyConstructor() {
this.myMethod = function() {
return 73
}
return 25
}
/*I want MyConstructor to have the value 25 and the myMethod method */
alert(MyConstructor()) // to be 25
alert(MyConstructor().myMethod()) //to be 73
有非常,非常少的原因,以创建String实例。 – Pointy
你想做什么?创建一个新的'类'或只是创建一个对象以外的东西? – Shilly