面向对象和面向过程

2017-12-14  本文已影响0人  时光有情

两者区别:面向过程是函数化的(过程化的)-----而面向对象,有一个语言标志类(构造函数)的概念,通过类可以创建任意多个相同属性和方法的实例对象。                                            面向对象的特点:封装,继承,多态                                                                                 

对象的组成-----属性-变量是自由的,状态是静态的;    对象下方法----函数自由的---过程动态的 

构造函数基本特点----首字母大些---------new运算符实例化对象

new操作符调用构造函数时,函数内部发生的变化

         1.首先创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型

         2.属性和方法加入到this引用的对象中

         3.新创建的对象由this所引用,最后隐式的返回给this.

  构造函数的缺点:实例化的方法每次都要重新创建

构造函数和普通函数的区别:

        构造函数将属性和方法赋给this.构造函数this绑定到新创建的new对象实例上。普通函数的this指向当前调用者。没有return语句。构造函数首字母得大写,构造函数需要New操作符调用,

function foo() {

var f2 = new foo2();

console.log(f2);    //{a: 3}

console.log(this); //window

return true;

}

function foo2() {

console.log(this); //foo2类型的对象 不是foo2函数

//        this.age = 30;

return {a: 3};

}

var f1 = foo();

console.log(f1); // true

在面向对象中如何避免使用全局变量和函数

1.命名空间、利用对象的命名区分

2.闭包--自执行函数

3.面向对象

4.

上一篇 下一篇

猜你喜欢

热点阅读