当我使用 String 构造函数时,我总是想知道它是如何制作的。它返回您指定为参数的字符串,即使它是使用“new”运算符实例化的,例如:
var str = new String("Hello World")
//str == "Hello World"
如果我创建一个构造函数并给它一个返回值,它在实例化时会返回一个对象:
function CreateString(st) {
return ''+st
}
var MyString = new CreateString("Hello there!")
//MyString == "[Object 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
最佳答案
您可以替换所需类中的toString()
函数定义。
function CreateString() {
function toString() { return 'foo' }
}
关于javascript - 构造函数返回值不是 "[Object object]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41808464/