以两种不同的方式使用函数
Using a function in two different ways
我正在创建一个附加到其他函数的函数。
类似:
string("Hi").capitilize()//returns hi
我希望能够以两种不同的方式使用$$.string。1将其附加到函数。第二个是单独的功能:
string("Hi")
那应该只是回复嗨。但我得到的只是:[object Object]
允许我做第一个附加到函数的主要代码是:
var g = function (a) {
this._string = typeof a == "string" ? a : a.toString();
return a;
}
var string = function (a) {
return new g(a);
}
然后我有了另一个包含所有函数的变量,然后将其与原型绑定。
如果我只有字符串("嗨"),是否可以只返回字符串,并且如果添加了函数,仍然允许它们工作?
基本问题是函数无法判断返回值的去向。在计算.
运算符时,函数的调用已经结束,因此您的代码在这一点上无法执行任何操作。
现在,您所能做的是返回一个在其原型上有toString()
实现的对象,这样,当您的对象在将被视为字符串的情况下使用时,它将进行适当的转换。
var g = function (a) {
this._string = typeof a == "string" ? a : a.toString();
return a;
}
g.prototype.toString = function() {
return this._string;
}
var string = function (a) {
return new g(a);
}
alert( new string("Hi") );
相关文章:
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 咖啡的Javascript订单总数无法使函数正常工作.请协助
- 使函数只运行一次(Javascript)
- 是否可以在没有外部输入的情况下使函数具有自我意识
- ChaiJS是如何使函数括号成为可选的
- 如何使函数与.onsubmit事件一起运行
- 使函数按顺序运行[Node JS]
- 使函数仅对其原型可用
- 如何使函数将属性值从 FALSE 设置为 TRUE
- 修改 HTML 的方式使左键应带到下一个 URL
- 你如何用回调使函数具有任意数量的参数
- 如何使函数像回调一样运行
- 使函数特定于Meteor模板,并可由其事件处理程序访问
- 如何使函数的别名与javascript中的new一起使用
- 以两种不同的方式使用函数
- Javascript使函数一个接一个地执行
- 如何使函数在整个 jQuery 插件及其所有内部方法中可用
- 使函数在用户悬停在链接上 2 秒后执行
- 使函数在HTTP和HTTPS中工作
- 以两种不同的方式编写函数:一种方式会导致 TypeError,另一种方式不会.为什么