当我使用String构造函数时,我总是想知道它是如何制作的。它返回你指定为参数的字符串,即使它与“new”运算符实例化如下:
var str = new String("Hello World")
//str == "Hello World"
如果我创建一个构造函数并且给它一个返回值,它会在instanciated时返回一个Object:
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
答案 0 :(得分:1)
您可以在所需的类中替换toString()
函数定义。
function CreateString() {
function toString() { return 'foo' }
}
答案 1 :(得分:0)
通过这一行
def is_subscribed(youtube, channel_id):
is_subscription_response = youtube.subscriptions().list(
part='id',
mine='true',
forChannelId=channel_id
).execute()
if len(is_subscription_response["items"]) == 0:
return False
else:
return True
您不仅仅是调用函数CreateString,而是要创建一个'类型'的新对象。 CreateString(函数的一个实例)。
我想你想要的只是
var MyString = new CreateString("Hello there!")