本文介绍了泛泛地使用javascript map函数是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在查看Mozilla开发人员页面上有关map函数的文档,有关于其中一个示例的问题。

这里是指向开发页面的链接。我现在看的是"一般使用地图"的例子。我还包含了以下代码:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

var map = Array.prototype.map;
var a = map.call('Hello World', function(x) { return x.charCodeAt(0); });
// a now equals [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
首先,使用map"泛指"是什么意思。我猜这和

var map = Array.prototype.map;

JS中的Prototype对我来说仍然是新事物之一。用我自己的话说,我所理解的是,它可以用来改变函数的工作方式,并且它的工作方式可以将类的功能添加到JS中。

无论如何,这在map变量中存储了什么?为什么他们现在可以将字符串传递给map函数的args?在MAP上调用MAP函数而不是执行以下操作有什么意义:

var a = 'Hello World'.split('').map( function(x) { return x.charCodeAt(0); });

推荐答案

"一般地使用map"意味着在开始时不是数组的对象上使用Array.prototype.map()。它适用于字符串‘Hello World’,因为‘Hello World’将返回一个长度,并且可以像数组一样迭代。

我喜欢把原型看作是"这个类中刚刚内置的东西"。例如,假设您正在制作一款涉及赛车的视频游戏。所有车辆都有"开"和"停"的能力。您可以创建一个‘Vehicle’类,并将‘Drive’和‘Stop’方法保存到其原型中,而不是制作数百辆汽车并一遍又一遍地输入它们的‘Drive’和‘Stop’方法。现在,当您创建‘Fastcar’时,您将使其成为‘Vehicle’的实例,然后可以访问这些原型‘Drive’和‘Stop’方法,而不必每次都重新编写它们。

您在上面发布的map变量只是引用Array.prototype.map,因此不需要每次都键入它的较长形式。

字符串没有作为map函数的参数传递。相反,正在对字符串本身调用map。

var map在您的帖子中并不实际调用Array.prototype.map,它需要在末尾加上括号才能真正调用它,如下所示:Array.prototype.map()

您提出的解决方案没有任何问题,但我认为文档向您展示了它的灵活性,以及同一问题总是有不同的解决方案。

这篇关于泛泛地使用javascript map函数是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 06:51