正在读一个JS源码库Fingerpoint2。我发现有些函数前会有类似这样的注解,但是我不明其意。请大神们解答,万分感谢
/**
* @template T,V
* @param {T=} context
* @param {function(this:T, ?, (string|number), T=):V} iterator
* @return {V}
*/
map: function (obj, iterator, context) {
var results = []
// Not using strict equality so that this acts as a
// shortcut to checking for null
and undefined
.
if (obj == null) { return results }
if (this.nativeMap && obj.map === this.nativeMap) { return obj.map(iterator, context) }
this.each(obj, function (value, index, list) {
results[results.length] = iterator.call(context, value, index, list)
})
return results
},