• js面向对象 下


    // 声明对象的方法 一  (通过常量直接赋值)

            var xiaoming = {//声明一个对象(直接通过一个常量xiaoming用{}赋值的方式声明)
                name: '小明',  //对象的一个属性   属性与属性之间用,逗号分隔。
                age: 40,   //对象的一个属性
                sex: '男',  //对象的一个属性
                job: function(){//对象的一个方法
                    alert('小明很会演戏');
                    return '对象方法返回值';
                }
            }
            alert(xiaoming.name);
            // xiaoming.job();//调用小明对象的方法  结果:小明很会演戏
            alert(xiaoming.job());//对象方法返回值  结果: 对象方法返回值
            //调用的如果是对象的方法属性后面要加()

     //声明对象的方法 二  ( 通过new Object() 声明)

            var xiaoming = new Object();//另一种声明 一个对象的方法
            xiaoming.name = '小明'; //此种方法用.属性 = 属性值。来表示一个 对象的属性
            xiaoming.age = 40; //声明xiaoming对象的一个属性
            xiaoming.sex = '男'; //声明xiaoming对象的一个属性
            xiaoming.job = function(){ //声明xiaoming对象的一个方法
                alert('小明很会演戏');
            }
    
    
            alert(xiaoming.name);//调用 xiaoming 这个对象的一个属性。  结果:小明
            xiaoming.job()//调用 xiaoming 这个  对象的方法      结果:小明很会演戏

     //声明对象的方法  三  ( 通过 Object() 声明 省略了new)

            var xiaoming = Object(); //第三种声明一个对象 xiaoming 的方式。
            xiaoming.name = '小明'; //声明xiaoming对象的一个属性
            xiaoming.age = 40; //声明xiaoming对象的一个属性
            xiaoming.sex = '男'; //声明xiaoming对象的一个属性
            xiaoming.job = function(){// 声明xiaoming 对象的一个方法(功能)
                alert('小明很会演戏');
            }
    
            alert(xiaoming.age); //40  调用xiaoming对象的 一个属性  结果:40
            xiaoming.job();  //调用xiaoming 这个对象的 一个方法(功能) 结果:小明很会演戏

    //补充     .属性  完全等价于 ['属性']

            var xiaoming = Object();
            xiaoming['name'] = '小明';  
            xiaoming['age'] = 40; //xiaoming["age"]与xiaoming.age 效果一样 都是表示 对象的属性,只不过是两种写法而已。
            xiaoming['sex'] = '男'
            xiaoming['job'] = function(){
                alert('小明很会演戏');
            }
    
            alert(xiaoming['age']);// 40
            xiaoming['job'](); // 小明很会演戏

    总结:对象(既能够存储数据,又能够存储函数)

    面向对象编程示例:

    /* 例子:
        有一辆车60km/h,有一条路1000km,问车跑在路上,多久跑完?
    */

                // 面向过程编程思想:只关心数学逻辑。
                var hour = 1000 / 60;
                alert(hour); //16.666666666666668


    面向对象的编程思想:将生活逻辑,直接映射到我们的程序中。 1、找实体 车 属性: speed 60km/h 功能: 跑在路上 路 属性: length 1000km 让车跑在路上,跑完以后,告诉我结果。 2、分析实体的属性和功能 3、让实体之间相互作用,最终得出结果。


                var car = { //声明一个  car 对象
                    speed: 60, //声明 car 对象的一个属性speed  速度60
                    run: function(road){ //声明 car 对象的一个方法(功能),能以60的数度跑在路上
                        return road.length / car.speed;// 方法的返回值是消耗的的时间
                    }
                }
    
                var kuahaidaqiao = {//跨海大桥(假设路是跨海大桥)
                    length: 1000
                }
    
                //car对象和kuahaidaqiao对象相互作用(车跑在跨海大桥上)
                var hour = car.run(kuahaidaqiao);/*调用car对象的run方法作用在对象kuahaidaqiao上。 此时 car对象的 run方法 的形参 road 就等于对象 kuahaidaqiao 所
           以 road.length属性就等于kuahaidaqiao.length属性*/
                alert(hour);//16.666666666666668
    可见这中编程方式语义化很强。






  • 相关阅读:
    [日志]“著名”炒股实用口诀
    Taven教授:解决失眠的好办法
    [日志]挂在树上的茶壶
    [日志]教你把脉知生男生女
    [日志]看了很多次的十句话
    [健康]国家制定公布甲型流感中药方市民可食用预防
    初学者如何开发出高质量J2EE系统
    学老中医的顺口溜防病
    [健康]巧用药茶疗慢性咽炎
    [日志]说一个人长的丑!如何说?
  • 原文地址:https://www.cnblogs.com/taohuaya/p/9556700.html
Copyright © 2020-2023  润新知