面向对象
面向对象
一,JS的面向对象
二,PHP的面向对象
面向过程,事件驱动式的编程。函数式的编程。
1,对象
对象:为了解决较复杂的问题,将现实事件的实体抽象为计算机的一个概念,即将对象(object)提炼相关的变量呵方法的集合。
1,1侠义对象,对象数据类型Object,就是{}括起来
1,2广义对象,在JS中,只要具有属于呵方法的都可以成对象。列如:数组,window对象,DOM,event对象,函数,字符串。。。
JS系统中所有引用类型值,都是对象
array 数组
function 函数
regexp 正则表达式
DOM元素
window,Math,Date.....
var str="hellow",//字面量创建,不说对象
var str=new Sting("hellow")//构造函数方式创建,是对象
2,this(上下文,环境content)
1,在全局中,this指向window
2,在绑定事件的处理函数中使用this,this 指向事件源
3,在对象的方法中使用this,this指向对象本身。
4,在定时器中调用的函数中使用this,this指向window
5,在数组中存放的函数中使用this,被数组下标返回后加括号调用,this指向该数字。
二,PHP面向对象
1,面向对象:通过封装得到一个类,
备注:类的本质还是函数
1,每个类(函数)天生有一个prototype的属性,这prototype有是一个对象,这个对象里有个constructor(构造函数)的属性,属性值是类的本身。
2,我们所有new一个类的时候,其实是调用它的构造函数,构造函数里的属性董事及私有的,构造函数里的this都是实例对象。
3,每个对象天生有一个--proto--,指向类的原型。
Prototype和--proto--
1,prototype是类的或者函数的,--proto--是对象的
2,protoype是存储机制,程序员来实现。--proto--是查找机制(浏览器)
一个对象首先看name是私有的,是就直接使用,不是的就通过--proto--往他的类的prototype上查找,有就直接使用,没有就继续向上查找,直到查找到基类Object,没有就是undefined,有就直接使用,这中叫查找机制叫原型链。
函数的特殊
1,类
2,函数
3,对象
4,每个函数天生有个返回值,return的是什么就是什么
如果,没有return就是undefined
浙公网安备 33010602011771号