一/首要理解面向过程与面向对象;
面向过程:是一种关注编程过程的一种模式;在这个过程中你要关注每一个元素,关系,方法的过程;
面向对象:是一种关注结果对象的一项模式;我不关心中间的做法,怎么做走什么路我不关心,只关心结果的模式
心法:
不要把面向对象当作一种语法||一种方法||一种方式;它是一种思维一种编程核心思想,更是一种编程模式;
也就是说在学习面向对象之前更多时间做功能时候,关注需求一步步做出来
面向对象的编程模式,我只管创造或者找一个一个能完成功能的对象,我只需要等结果就好,不需要关注中间细节,中间的过程由完成功能的对象来完成
心法核心;
当我们想完成一个需求时候;
面向对象的编程思维:
先看内置构造函数有没有这个满足需求的完成功能对象的能力;
如果没有我们就创建写一个构造函数创造出满足这个功能的对象
然后我们写一个构造函数new一个对象帮助我们完成这个功能
调试器中打印jQuary.prototype{可以区查看各种原型方法或属性}
面向对象是什么就是基于对象来编程。
但作为程序人员要学会面向对象的源码分析;即面向对象的背后原理;
jq.hellow()//方法
//如果没有报错的样式 。。。is not function
jq。hellow//是属性
//原型链找不到//报错 undefined
Number.prototype
String.prototype
//都是内置的方法
//查看原型链方法
console.dir(Fuction.prototype)
调用方法时候先在当前对象去找没有在沿着原型链向上找,现在实例方法中去找new jQuary()中找没有在[[prototype]]沿着原型链找到根对象object.prototype也没有就报undefined;
类方法与原型方法的区别类方法本身写在自己身上的方法也叫静态方法;