|
|
|
|
移动端

3.4 更新对象的属性

《JavaScript开发实战》第3章对象:数据分组,本章将介绍 JavaScript语言中的对象。对象是一种简单、有效的收集变量的方法,在程序中可以把这些变量看作一个组,而不是各个单独的变量来进行信息传递。本节为大家介绍更新对象的属性。

作者:孙晓青/周伟 译来源:机械工业出版社|2018-05-05 10:56

【新品产上线啦】51CTO播客,随时随地,碎片化学习

3.4 更新对象的属性

在一个小测验的应用程序中,玩家针对一个个问题进行回答。问题的总数、玩家答对问题的数量、以及玩家的得分都会随时间的变化而变化。我们可以创建一个玩家对象,使其具有一系列初始值,然后每当他回答一个新问题,便对这一系列值进行更新。使用圆点运算符可以更改已经存在的属性,或者为对象添加新的属性。如以下代码所示:

代码清单 3-10使用圆点运算符更新对象的属性 (http://jsbin.com/mulimi/edit?js,console)

  1. var player1;  
  2. player1 = {  
  3. name: "Max", //在创建对象时设置初始属性  
  4. attempted: 0,  
  5. correct: 0,  
  6. };  
  7. player1.attempted = 1; //使用圆点运算符来更新属性  
  8. player1.correct = 1;  
  9. player1.score = 50; //添加一个新属性并对其赋值 

在以上代码中,在创建对象时,为 attempted和 correct属性设置了初始值 0,后来将这些属性的值更新为 1。程序使用了赋值运算符 =。等号将其右边的值 1赋值给等号左边的属性 player1.attempted。代码中设置了 attempted和 correct两个属性,然后立即对它们进行了更新。实际上,玩家每回答一个问题,程序就会做一次更新响应。

我们也可以在创建对象后再向其添加新属性。在上述代码清单 3-10中,将 50赋值给对象 player1的新属性 score:

  1. player1.score = 50

在昀初创建对象 player1时,并没有设置属性 score。为一个本来不存在的属性 score赋值意味着自动创建了该属性。我们可以在计算中使用一个变量,并将计算结果再赋值给该变量。以下代码清单 3-11显示了如何更新玩家的属性:

  1. > Max has scored 0  
  2. > Max has scored 50 

代码清单 3-11先计算再赋值 (http://jsbin.com/cuboko/edit?js,console)

  1. var player1;  
  2. player1 = {  
  3. name: "Max",  
  4. score: 0  
  5. };  
  6. console.log(player1.name + " has scored " + player1.score);  
  7. player1player1.score = player1.score+50;//先计算等号右边的表达式,再将计算结果赋值给该属性  
  8. console.log(player1.name + " has scored " + player1.score); 

更新属性 score(在代码中以粗体显示)时, JavaScript会先计算等号右边的表达式。因为 player1.score为 0,所以表达式变为 0+50,得到 50;然后 JavaScript将 50赋值给等号左边,也就是属性 score。就这样,将 player1.score从 0更新为 50。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

敏捷Acegi、CAS:构建安全的Java系统

本书是关于Acegi、CAS的权威教程,是Java/Java EE安全性开发者的必备参考书。无论是Java EE安全性编程模型的背景和基础知识,还是Acegi、CA...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊