长春网站建设

ECMAScript中变量引用的覆盖

时间:2020-01-27 18:22 来源:长春网站建设 作者:www.0431aa.com 浏览次数:


试想一下,函数名作为指导,也有助于理解为什么ECMAScript的无功能的概念超载。下面是前面使用的示例:

功能addSom?Numb?r(NUM){

返回NUM + 100;

}

功能addSomeNumber(NUM){

返回NUM + 200;

结果= aaddSomeNumber(100); // 30O

显然,在这个例子中,我们声明了两个名称相同的功能,其结果是后盖的在僻静的几个前的功能。上面的代码实际上是从下面的代码没有不同;

VAR addSomeNumber =函数(NUM){

返回门+ 100;

);

addSomeNunber =函数(NUM){

返回NUM + 200;

);

VAR结果= addSomeNumber(100); // 300

长春网站建设公司技术人员提示:观察改写后的代码,很容易在看看到底是怎么回事儿 - 创建第二个功能时,变量引用实际上覆盖第一功能addSomeNumber。

希望广大从事建筑网站所有者或网站建设公司或企业的帮助球队,像这样不明白的,可以联系网络长春网络技术。我们与广大站长和网站建设公司的技术人员分享我们的高科技和经验。

 

到目前为止,我们还没有函数声明和函数表达式区分。事实上,将数据加载到的函数声明和函数表达式执行环境分析器时不一视同仁。解析器函数的声明将是一读,并执行任何代码之前将其提供(访问); 作为一个函数表达式,你必须等到解析器中的代码行执行它,真的会被解释。请看下面的例子:

警报(总和(10,10));

函数sum(numl,NUM2){

返回numl + NUM2;

}

上面的代码是全功能的。因为代码的执行开始之前,解析器读取功能的声明,并把它添加到执行环境。如果,如在下面的例子中所示,上述的函数声明政府是可变的初始化模式(即,使用函数表达式),它会导致在执行期间的错误:

警报(总和(10,10));

VAR和= {功能NUM1,NUM2){

返回numl + NUM2;

};

为什么上面的代码将在运行期间产生错误的原因,因为在一份声明中初始化函数,而不是一个函数声明。换言之,之前其中函数,变量sum还没有保存到函数的引用语句的执行; 此外,由于第一行代码会导致“意外 识别符“(意外标识符)误差,实际上,不到下一行。

此外,当你可以通过差异变量之间的函数声明和函数表达式语法外部访问这个功能实际上相当于。

长春网站建设公司技术员提示:您还可以使用函数声明和函数表达式在同一时间,例如:VAR总和=功能 总和(){}。然而,这句法会导致在Safari中的错误。

希望广大从事建筑网站所有者或网站建设公司或企业的帮助球队,像这样不明白的,可以联系网络长春网络技术。我们与广大站长和网站建设公司的技术人员分享我们的高科技和经验。

 

因为在ECMAScript中本身的函数名是可变的,该功能也可以被用作一个值。换句话说,不仅可以通过像相同的参数传递一个函数到另一个功能,以及功能可以返回作为另一个函数的结果。看看下面的函数:

功能callSomeFunction(someFunction,someArgument){

返回someFunction(someArgument);

}

长春网站建设公司技术人员注意:此函数接受两个参数。第一个参数应该是第二参数的函数应该是被传递给函数的值。然后它可以如以下示例的功能进行传递:

功能ADD10(NUM){

返回NUM + 10;

}

VAR = RESULT1 callSomeFunction(addl0,10);

警报(resultl); // 20

函数getGreeting(名称){

返回“你好,” +名称;

}

VAR RESULT2 = callSomeFunction(getGreeting “尼古拉斯”);

警报(RESULT2); //“你好,尼古拉斯”

这里SomeFunction()函数是通用的,我。e。,第一个参数是否在什么功能,返回的第一个结果参数传递。长春网络技术人员提醒您,记住它,访问函数指针而不执行函数时,函数名后,那么它必须被移除括号。由此到上述示例callSomeFunction()是ADD10 和getGreeting,而不是执行他们的结果后,。

当然,另一个功能可以从函数返回,这是非常有用的技术。例如,假设你有对象的数组,我们要根据对象属性的数组排序。该阵列被传递给比较功能sort()方法来接收两个参数,我。e。,价值比较。然而,我们需要一种方法,它根据排序哪个属性。为了解决这个问题,你可以定义接收属性名称的函数,然后创建一个基于属性名称的比较功能,这里是这个函数的定义。

功能createComparisonFunction(propertyName的){

返回功能(objectl,Object2的){

VAR值1 = objectl将[PropertyName];

VAR值2 = Object2的将[PropertyName];

如果(值1返回-1;

否则如果(值1>值2){

返回1;

否则{

返回0;

}

};

}

这个功能看起来有点复杂,但实际上没有什么比另一个函数的更多的嵌套函数,并在封面的功能再加上运营商的回报。接收propertyName的内部参数的功能后,将其使用方括号符号获取一个给定的属性的值。获得所期望的属性值之后,定义的比较函数是非常简单的。上述功能可以在下面的示例中被用作这样的:

VAR数据= [{名: “扎卡里”,年龄:28),TNAME: “尼古拉斯”,年龄:29}];

数据。排序(createComparisonFunction( “名字”));

警报(数据[数据[0]。名称); //尼古拉斯

数据。排序(createComparisonFunction( “时代”));

警报(数据[O]。名称); //扎卡里

在这里,我们创建数据的数组,其中包含两个对象。其中每个对象包含一个name属性和年龄属性。默认情况下,sort()方法会调用每个对象的toString()方法来确定它们的顺序; 但结果往往是不符合人的思维习惯。因此,我们呼吁createComparisonFunction(N NAME“)根据每个对象的名称属性的值方法创建一个比较功能,分类。其结果是第一个名称为“尼古拉斯”,年龄29的顶面,是对象。然后,我们用createComparisonFunction比较函数返回(“时代”),这是由对象的年龄属性进行排序。结果是一个数值名称“扎卡里”,年龄值对象28的第一行中。
 

 
 
      非特殊说明,本文为本站原创(翻译)文章,转载请注明:本文转自:佰亿金科。
 
 
      本文链接:http://www.0431aa.com/a/news/jzzs/2018/1022/714.html

 

本文标题:ECMAScript中变量引用的覆盖

本文链接:http://www.0431aa.com/a/news/jzzs/2018/1022/714.html

上一篇:ECMAScript语法的特殊性
下一篇:ECMAScript中的运算符和数据类型

TAG标签

长春网站制作(6) 长春网站优化(9) 长春SEO(98) 长春网站建设(208) 重庆网站建设(20) 网站建设(54) 沈阳网站建设(26) 北京网站建设(21) 网站制作(34) 深圳网站建设(20) 上海网站建设(21) 网站建设公司(20) 大连网站建设(20) 网站制作公司(21) 长沙网站建设(20) 天津网站建设(20) 济南网站建设(20) 成都网站建设(20) 广州网站建设(20) 武汉网站建设(20) 合肥网站建设(20) 福州网站建设(20) 太原网站建设(20) 石家庄网站建设(20) 杭州网站建设(20) 合肥做网站(2) 天津做网站(2) 济南做网站(2) 成都做网站(2) 重庆做网站(2) 杭州做网站(2) 长沙做网站(2) 深圳做网站(2) 石家庄做网站(2) 北京做网站(2) 广州做网站(2) 武汉做网站(2) 太原做网站(2) 福州做网站(2) 大连做网站(2) 做网站公司(2) 上海做网站(2) 长沙建站(2) 合肥建站(2) 武汉建站(2) 沈阳建站(2) 建站公司(3) 济南建站(2) 太原建站(2) 广州建站(2) 上海建站(2) 石家庄建站(2) 成都建站(2) 大连建站(2) 重庆建站(2) 天津建站(2) 福州建站(2) 深圳建站(2) 北京建站(2) 杭州建站(2) 软件开发公司(2) 软件制作公司(2) 大连软件开发(2) 福州软件开发(2) 重庆软件开发(2) 天津软件开发(2) 济南软件开发(2) 软件制作(2) 成都软件开发(2) 北京软件开发(2) 长沙软件开发(2) 武汉软件开发(2) 合肥软件开发(2) 深圳软件开发(2) 太原软件开发(2) 广州软件开发(2) 沈阳软件开发(2) 上海软件开发(2) 石家庄软件开发(2) 杭州软件开发(2) 网站建设网站建设(1) 长沙网站设计(6) 济南网站设计(6) 成都网站设计(6) 杭州网站设计(6) 石家庄网站设计(6) 广州网站设计(6) 太原网站设计(6) 福州网站设计(6) 合肥网站设计(6) 武汉网站设计(6) 天津网站设计(6) 北京网站设计(6) 深圳网站设计(6) 上海网站设计(7) 重庆网站设计(6) 沈阳网站设计(6) 大连网站设计(6) 网站设计公司(6) 网页设计(6) 网页设计公司(6) 软件开发软件开发(1) 网站设计(27) 长沙网站制作(1) 北京网站制作(1) 沈阳网站制作(1) 上海网站制作(2) 深圳网站制作(1) 大连网站制作(1) 重庆网站制作(1) 天津网站制作(1) 武汉网站制作(1) 合肥网站制作(1) 福州网站制作(1) 太原网站制作(1) 广州网站制作(1) 石家庄网站制作(1) 杭州网站制作(1) 济南网站制作(1) 成都网站制作(1) 免费网站建设(0) 高端网站设计(0) 做网站(15) 企业网站建设(1) 关键词优化(23) 关键词排名(1) 长春APP开发(7) APP开发(3) 软件开发(9) 建站(11) 营销型网站建设(1) 沈阳做网站(0) 手机APP制作(4) 长春SEO优化(2) SEO(0) 长春网络营销(0) 长春网站推广(0) 长春网站SEO(9) 长春SEO外包(0) 长春SEO顾问(0) 长春做网站(73) 长春SEO技术(0) 长春网站设计(4) 长春SEO公司(0) 长春软件公司(8) 佰亿金科(5) 长春网络推广(0) 长春网络SEO(1) 网络推广(1)

最新网站设计案例

网站,小程序,APP,微信公众平台,SEO,设计,建设,开发,制作,优化,推广,营销,维护,专业的软件公司助您轻松解决营销解决方案。

更多网页设计案例

软件开发制作技术支持

我们珍惜您每一次在线询盘,有问必答,用专业的态度,贴心的服务。

让您真正感受到我们的与众不同!