当前位置:  开发笔记 > 编程语言 > 正文

这个javascript代码在做什么?

如何解决《这个javascript代码在做什么?》经验,为你挑选了2个好方法。

this.String = {}指定一个对象. Get是该对象的属性.在javascript中,对象属性及其值由冒号':'分隔.

因此,根据示例,您可以像这样调用函数

this.String.Get('some string');

更多例子:

var foo = {
  bar : 'foobar',
  other : {
     a : 'wowza'
  }
}
alert(foo.bar); //alerts 'foobar'
alert(foo.other.a) //alerts 'wowza'


Tom Lokhorst.. 8

其他人已经解释了这段代码的作用.它创建一个this.String包含单个函数(称为Get)的对象(称为).我想解释你什么时候可以使用这个功能.

在需要更高阶函数(即希望将另一个函数作为其参数的函数)的情况下,此函数非常有用.

假设你有一个函数可以对每个元素做一些事情Array,让我们调用它map.您可以像这样使用此函数:

function inc (x)
{
    return x + 1;
}
var arr = [1, 2, 3];
var newArr = arr.map(inc);

map函数将执行的操作是创建一个包含值的新数组[2, 3, 4].它将通过inc使用数组的每个元素调用函数来完成此操作.

现在,如果你经常使用这个方法,你可能会不断调用map各种参数:

arr.map(inc); // to increase each element
arr.map(even); // to create a list of booleans (even or odd)
arr.map(toString); // to create a list of strings 

如果由于某种原因你想要用相同的字符串替换整个数组(但保持相同大小的数组),你可以像这样调用它:

arr.map(this.String.Get("my String"));

这将创建一个与之相同大小的新数组arr,但只是"my String"一遍又一遍地包含该字符串.

请注意,在某些语言中,此函数是预定义的并且被调用constconstant(因为它总是返回相同的值,每次调用它时,无论它的参数是什么).


现在,如果你认为这个例子不是很有用,我会同意你的看法.但有些情况下,当使用更高阶函数进行编程时,使用此技术时.

例如,如果您想要"清除"其值但保留树的结构,则它可能很有用.您可以tree.map(this.String.Get("default value"))创建并创建一个全新的树,其形状与原始树完全相同,但没有任何值.



1> tj111..:

this.String = {}指定一个对象. Get是该对象的属性.在javascript中,对象属性及其值由冒号':'分隔.

因此,根据示例,您可以像这样调用函数

this.String.Get('some string');

更多例子:

var foo = {
  bar : 'foobar',
  other : {
     a : 'wowza'
  }
}
alert(foo.bar); //alerts 'foobar'
alert(foo.other.a) //alerts 'wowza'



2> Tom Lokhorst..:

其他人已经解释了这段代码的作用.它创建一个this.String包含单个函数(称为Get)的对象(称为).我想解释你什么时候可以使用这个功能.

在需要更高阶函数(即希望将另一个函数作为其参数的函数)的情况下,此函数非常有用.

假设你有一个函数可以对每个元素做一些事情Array,让我们调用它map.您可以像这样使用此函数:

function inc (x)
{
    return x + 1;
}
var arr = [1, 2, 3];
var newArr = arr.map(inc);

map函数将执行的操作是创建一个包含值的新数组[2, 3, 4].它将通过inc使用数组的每个元素调用函数来完成此操作.

现在,如果你经常使用这个方法,你可能会不断调用map各种参数:

arr.map(inc); // to increase each element
arr.map(even); // to create a list of booleans (even or odd)
arr.map(toString); // to create a list of strings 

如果由于某种原因你想要用相同的字符串替换整个数组(但保持相同大小的数组),你可以像这样调用它:

arr.map(this.String.Get("my String"));

这将创建一个与之相同大小的新数组arr,但只是"my String"一遍又一遍地包含该字符串.

请注意,在某些语言中,此函数是预定义的并且被调用constconstant(因为它总是返回相同的值,每次调用它时,无论它的参数是什么).


现在,如果你认为这个例子不是很有用,我会同意你的看法.但有些情况下,当使用更高阶函数进行编程时,使用此技术时.

例如,如果您想要"清除"其值但保留树的结构,则它可能很有用.您可以tree.map(this.String.Get("default value"))创建并创建一个全新的树,其形状与原始树完全相同,但没有任何值.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有