Dan*_*obe 4 javascript arrays prototype
我在Mozilla开发者页面上查看了map函数的文档,并对其中一个示例有疑问.
这是dev页面的链接.我正在看"一般使用地图"的例子.我还包括以下代码:
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]
Run Code Online (Sandbox Code Playgroud)
首先,通过使用"一般"地图,它们意味着什么.我猜这与此有关
var map = Array.prototype.map;
Run Code Online (Sandbox Code Playgroud)
对我来说还有一件事是JS中的原型.用我自己的话来说,我理解的是它可以用来改变一个函数的工作方式,并且它可以以一种向JS添加类的功能的方式工作.
无论如何,这个存储在地图变量中的是什么?为什么他们现在可以将字符串传递给map函数的args?在地图上调用map函数而不是执行以下操作的重点是什么:
var a = 'Hello World'.split('').map( function(x) { return x.charCodeAt(0); });
Run Code Online (Sandbox Code Playgroud)
首先,使用地图"通用"是什么意思.
"通用地使用地图"意味着使用Array.prototype.map()不是数组的东西开始.它适用于字符串'Hello World',因为'Hello World'将返回一个长度,并且可以像数组一样迭代.
对我来说还有一件事是JS中的原型
我喜欢将原型视为"本类内置的东西".例如,假设您正在制作涉及赛车的视频游戏.所有车辆都能够"驾驶"和"停止".您可以创建一个"车辆"类,并将"驱动器"和"停止"方法保存到其原型中,而不是制作数百辆车并一次又一次地键入"驱动器"和"停止"方法.现在,当您创建'FastCar'时,您将使其成为'Vehicle' 的实例,然后可以访问那些原型'Drive'和'Stop'方法,而无需每次都重新编写它们.
这个存储在map变量中的是什么?
map您在上面发布的变量只是引用,Array.prototype.map因此不需要每次都输入更长的形式.
为什么他们现在可以将字符串传递给map函数的args
字符串不作为map函数的参数传递.而是在字符串本身上调用 map .
在地图上调用地图功能有什么意义
var map在你的帖子中实际上没有调用 Array.prototype.map,它需要在末尾有括号来实际调用它,如下所示:Array.prototype.map().
而不是做类似的事情
您提出的解决方案没有任何问题,但我认为文档向您展示了它的灵活性以及如何始终针对同一问题提供不同的解决方案.