1. // 对象:一个容器可以包含数据和功能
2. // 数据:通过对象的属性可以获取或设置数据
3. // 功能:通过对象的方法可以使用对象的提供的功能
4.
5. var obj = new Object()
6. var a = {}
7. obj.name = 'wangBaoQaing'
8. // 创建对象 为对象添加属性
9.
10. function abc(){
11. console.log('fff')
12. }
13.
14. // setInterval(abc,1000)
15. // setInterval('abc()',1000)
16. // 建议使用第一种方法
17.
18.
19. // 场景一:将对象作为容器来使用 因为对象是一个容器
20. // 所以我们使用对象组织一组事件
21. // 从而将这一组数据当成一个整体
22.
23. // 不使用对象的情况,要声明大量的变量 如果有很多人要表示
24. // 页面上的变量就很换乱了
25. var name,age,isMale,height,weight,color,course
26. name = 'maRong'
27. age = 3
28. isMale =true
29. height = 180
30. weight = 190
31. color = 0xFFFccc
32. course = 'HTML5'
33. // 当表示的数据增加时 还要定义一个新变量
34.
35. // 函数表示定义大量的参数来表示每一项数据
36. var showPerson = function(a,b,v,d,s,h,j,k,l){
37. console.log('名字' + a)
38. }
39. // 调用函数时也需要传递大量数据,如果数据的顺序改变或者增加新的数据 就会很麻烦
40. showPerson(1,2,3,4,5,6,7,8,9)
41.
42. // 创建一个对象 把对象当数据的容器 用它来承载一组数据
43. var p = {}
44. p.name = 'wangBaoQiang'
45. p.age = 3
46. p.isMale = true
47. p.color = 0xfffcccc
48. p.course = 'HTML5'
49. // 不用声明大量变量只需要把数据设为对象的属性即可
50. console.log(p)
51.
52. var showP = function(p){
53. // for in 循环对象中的属性
54. for(var k in p){
55. console.log(k + ':' + p[k])
56. // k 指的是对象的属性
57. // p[k] 获取p对象中k属性的值
58. }
59. }
60. showP(p)
61.
62. // 场景二:将对象作为方法的容器来使用
63. // 可以将一组功能相关方法组织成一个整体或者组织到一起
64. Math.PI
65. Math.E
66. // 将常用的属性常量组织到一起
67. Math.random() //0 - 1 之间的随机数
68.
69. // 30 - 80 之间的随机数
70. var a = Math.round(30 + Math.random() * (80-30))
71. console.log(a)
72.
73. // 场景三
74. // 对象即是数据容器 同时也是功能容器
75. // 对象即提供属性 同时也提供相关的方法
76. // 如果说实现这一点的话 就需要把函数也放到对象的内部
77.
78. // 把function 放到p对象的内部 写法上和属性类似 但不是等于一个值
79. // 而是等于一个函数 放到对象内部的函数通常叫做方法
80.
81. p.show = function(){
82. console.log('名字' + this.name)
83. console.log('年龄' + this.age)
84. // 当一个函数移动到一个对象内部时可以使用this来表示它所在的对象
85. }
86. p.show()
87. // 当一个函数被移动到对象内部时 可以使用 对象.方法名() 调用这个函数
88.
89. // 当一个对象包含了数据和功能时 就会相对独立 对外的依存度降低
90. // 此时对象就可以变成一个相对独立的程序单元 可以拿到任意一个地方运行
91. // 在使用对象的过程中就可以节省大量的细节代码
92. // 即: 直接使用对象 不用在乎对象内部的代码如何写
93.
94. // 对象可以是别写的 我们直接拿来使用
95. // 也可以是我们写好给别人用