- // 对象:一个容器可以包含数据和功能
- // 数据:通过对象的属性可以获取或设置数据
- // 功能:通过对象的方法可以使用对象的提供的功能
- var obj = new Object()
- var a = {}
- obj.name = 'wangBaoQaing'
- // 创建对象 为对象添加属性
- function abc(){
- console.log('fff')
- }
- // setInterval(abc,1000)
- // setInterval('abc()',1000)
- // 建议使用第一种方法
- // 场景一:将对象作为容器来使用 因为对象是一个容器
- // 所以我们使用对象组织一组事件
- // 从而将这一组数据当成一个整体
- // 不使用对象的情况,要声明大量的变量 如果有很多人要表示
- // 页面上的变量就很换乱了
- var name,age,isMale,height,weight,color,course
- name = 'maRong'
- age = 3
- isMale =true
- height = 180
- weight = 190
- color = 0xFFFccc
- course = 'HTML5'
- // 当表示的数据增加时 还要定义一个新变量
- // 函数表示定义大量的参数来表示每一项数据
- var showPerson = function(a,b,v,d,s,h,j,k,l){
- console.log('名字' + a)
- }
- // 调用函数时也需要传递大量数据,如果数据的顺序改变或者增加新的数据 就会很麻烦
- showPerson(1,2,3,4,5,6,7,8,9)
- // 创建一个对象 把对象当数据的容器 用它来承载一组数据
- var p = {}
- p.name = 'wangBaoQiang'
- p.age = 3
- p.isMale = true
- p.color = 0xfffcccc
- p.course = 'HTML5'
- // 不用声明大量变量只需要把数据设为对象的属性即可
- console.log(p)
- var showP = function(p){
- // for in 循环对象中的属性
- for(var k in p){
- console.log(k + ':' + p[k])
- // k 指的是对象的属性
- // p[k] 获取p对象中k属性的值
- }
- }
- showP(p)
- // 场景二:将对象作为方法的容器来使用
- // 可以将一组功能相关方法组织成一个整体或者组织到一起
- Math.PI
- Math.E
- // 将常用的属性常量组织到一起
- Math.random() //0 - 1 之间的随机数
- // 30 - 80 之间的随机数
- var a = Math.round(30 + Math.random() * (80-30))
- console.log(a)
- // 场景三
- // 对象即是数据容器 同时也是功能容器
- // 对象即提供属性 同时也提供相关的方法
- // 如果说实现这一点的话 就需要把函数也放到对象的内部
- // 把function 放到p对象的内部 写法上和属性类似 但不是等于一个值
- // 而是等于一个函数 放到对象内部的函数通常叫做方法
- p.show = function(){
- console.log('名字' + this.name)
- console.log('年龄' + this.age)
- // 当一个函数移动到一个对象内部时可以使用this来表示它所在的对象
- }
- p.show()
- // 当一个函数被移动到对象内部时 可以使用 对象.方法名() 调用这个函数
- // 当一个对象包含了数据和功能时 就会相对独立 对外的依存度降低
- // 此时对象就可以变成一个相对独立的程序单元 可以拿到任意一个地方运行
- // 在使用对象的过程中就可以节省大量的细节代码
- // 即: 直接使用对象 不用在乎对象内部的代码如何写
- // 对象可以是别写的 我们直接拿来使用
- // 也可以是我们写好给别人用
暂无评论