JS如何创建对象

举报
yd_221104950 发表于 2020/12/02 23:36:46 2020/12/02
【摘要】 var car = { year:1980, color:"red", passengers:4, mileage:1024, model:"CC car", make:"China", "car number":"8888888" }; 123456789 上面定义了一个包含一系列属性的对象,并将其赋给了变量car。我们就可以通过变量 car去访问和...
var car = {
	year:1980,
	color:"red",
	passengers:4,
	mileage:1024,
	model:"CC car",
	make:"China",
	"car number":"8888888"
	};

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

上面定义了一个包含一系列属性的对象,并将其赋给了变量car。我们就可以通过变量 car去访问和修改这个对象的属性。
注意事项:
1.属性与值之间用冒号“:”隔开。
2.属性与属性之间用逗号“,”隔开。
3.如果属性名有空格,一定要用双引号将其括起来,如上例,否则,一般不需要用双引号,获取属性值有数组下标法、dot:

car["car number"];
car.model;

  
 
  • 1
  • 2

4.最后一个属性值后面不需要加逗号。
5.不能含有同名属性。
6.可以随时增加属性,如car.brand=“bao ma”
7.可以随时删除属性,如delete car.color;delete成功,则返回true,否则返回false。
8.建立空对象,如 var wahaha ={};
9.访问对象的属性值用“."点。
10.这个car变量是这个对象的引用。所以将这个变量传递给函数的形参或赋给其他变量时,它们都是指向同一个对象。这一点与实参不一样,实参是按值传递的。

是时候给我们的对象添加行为了

   var car = { year:1980, color:"red", passengers:4, mileage:1024, model:"CC car", make:"China", "car number":"88888", started:false, start:function(){ this.started = true; }, stop:function(){ this.started = false; }, drive:function(){ alert("OK Boss,Let's Go!"); }, call:function(name){ alert("hello,"+name+". Where do you want to go?"); } };

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

使用方法来修改属性是另一种封装方式,它让对象决定如何完成工作。通常可以达到改善代码的可维护性和可扩展性的目的。
注意:
1.上面这个对象里面有两个方法是修改对象属性值的,但是在函数里要使用对象的属性,必须带上this,否则会修改不成功。this会告诉javascript解释器,这个不是全局变量,而是当前对象的属性。
2.对象调用方法,也是用“."点来调用。
3.可以将函数视为值。
4.能够创建类模板,用于生成统一的对象。

最后给出一个运行实例:

<!doctype html>
<html lang="en"> <head> <meta charset="utf-8"> <title>My First JavaScript</title> </head> <body> <script> var car = { year:1980, color:"red", passengers:4, mileage:1024, model:"CC car", make:"China", "car number":"88888", started:false, start:function(){ this.started = true; }, stop:function(){ this.started = false; }, drive:function(){ alert("OK Boss,Let's Go!"); }, call:function(name){ alert("hello,"+name+". Where do you want to go?"); } }; car.start(); alert(car.started); car.drive(); car.call("Tom"); alert(car["car number"]); car.brand = "bao ma"; alert(car.brand); delete car.model; alert(car.model); function changeCar(micar){ car.color = "blue"; } changeCar(car); alert(car.color); </script> </body>
</html>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

谢谢阅读。

文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_40763897/article/details/87977656

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。