【发布时间】:2021-09-02 06:30:51
【问题描述】:
如果我想将函数应用于单个对象,我可以这样做:
> 'mystr'.toUpperCase()
'MYSTR'
但如果我想对数组做同样的事情,使用map(例如),我必须这样做:
> ['one','two','three'].map((x)=>x.toUpperCase(x))
[ 'ONE', 'TWO', 'THREE' ]
有没有办法在没有点符号的情况下使用这个函数?例如
// THIS DOESN'T WORK, BUT I WANT TO ACHIEVE SOMETHING LIKE THIS
> String.toUpperCase('mystr')
'MYSTR'
> ['one','two','three'].map(String.toUpperCase)
[ 'ONE', 'TWO', 'THREE' ]
这些只是例子,我不给我使用map或toUpperCase的具体解决方案,拜托。我只想知道成员函数是否可以在没有匿名额外函数的情况下用作回调函数
【问题讨论】:
-
String.toUpperCase仍然使用点符号... -
你的意思是
String.prototype.toUpperCase.call("mystr")?或者类似function toUpper(text) { return typeof text === "string" ? text.toUpperCase() : ""; }和toUpper("mystr") -
是的,对不起。我的意思是你不需要现有的对象来放置点然后应用它。我会尝试改写。
标签: javascript function oop member-functions