Javascript 面向对象

 创建构造器三种形式

<script>

function test(){}

var test = function(){}

var test = new Function(){}

</script>

Javascript 面向对象

<script>
   function Point(x, y){
       this.x = x;  //定义一个x和y的坐标
       this.y = y;
       this.move = function(x, y){  //定义一个move方法,可以移动x,y
           this.x = x;
           this.y = y;
       }
   }
   var point = new Point(0, 0);//定义一个point对象,创建一个point的点,[0,0]
   point.move(1, 1);    //调用方法,把[0, 0]移动到[1, 1]
   var circle = {x: 0, y: 1, r: 1};     //x,y圆心坐标  r是圆的半径
   point.move.apply(circle,[1,1]);  //圆心移动到 1,2坐标   使用的this是circle对象(传入调用的对象[把函数调用的参数依次传入])
   point.move.call(circle, 1, 1);  //圆心移动到 1,2坐标     使用的this是circle对象(传入调用的对象[把函数调用的参数依次传入,直接跟在第一个参数的后面])
</script>



对象的原型 prototype  __proto__

Javascript 面向对象

原型链

Javascript 面向对象

 

 Javascript 面向对象

 

Javascript 面向对象

 

属性删除只会删除tom的,不会删除teacher的

Javascript 面向对象

 

<script>
    如何判断一个属性来自于对象本身
    tom.hasOwnProperty('job');

    ES5原型继承
    直接从原型对象创建新的对象,同事为这个对象指定一个原型,以proto为原型对象
    Object.create(proto[,propertiesObject]);
</script>

Javascript 面向对象

Javascript 面向对象

 

==============================================================

面向对象编程

Javascript 面向对象

 

Javascript 面向对象

Javascript 面向对象

 

Javascript 面向对象

Javascript 面向对象

 

Javascript 面向对象

 

相关文章: