JavaScript不断给我带来惊喜,这是另一个例子。我只是遇到了一些我一开始不理解的代码。所以我对它进行了调试,得出了这个结论:
alert('a'['toUpperCase']()); //alerts 'A'
现在,如果toUpperCase()
被定义为string类型的成员,这一点肯定很明显,但最初对我来说没有意义。
不管怎样,
toUpperCase
是'a‘的成员?或者在幕后发生了什么?我正在阅读的code function callMethod( method ) { return function (obj) { return objmethod;// **如何确保方法始终是obj的成员**}} var caps2 = map('a','b','c',callMethod('toUpperCase'));// 'A','B','C‘//忽略map()函数的详细信息,该函数实质上对数组的每个//元素调用方法,并形成另一个结果数组并返回它
在任何对象上调用任何方法是一种泛型函数。但这是否意味着指定的方法将已经是指定对象的隐式成员?
我确信我对JavaScript函数的基本概念缺少一些严肃的理解。请帮助我理解这一点。
https://stackoverflow.com/questions/15659809
复制相似问题