一、前端面向对象
1、大概了解一下对象
对象:为了解决比较复杂的问题,将现实世界的实体抽象为计算机的一个概念,即将对象(Object)提炼为相关的变量和方法的集合
1.1:狭义对象:对象数据类型Object,就是{}括起来。它是一组无序的属性集合。
1.2:广义对象:在JS中,只要具有属性和方法的都可以成为对象。例如:数组、window对象、Dom、字符串等等。
2、对象的属性和方法
JavaScript中提供多个内建对象,比如string、Date、Array等等。
对象只是带有属性和方法的特殊数据类型
2.1:属性:作用跟变量一样,差别就是属性是属于对象的变量,而变量是自由的。
2.2:方法:作用跟函数一样,差别就是方法是属于对象的函数,而函数时自由的。
3、创建JavaScript对象
3.1:由对象字面量创建
3.2:由内键对象Object创建
3.3:由构造函数构造出来,然后创建新的对象实例
3.4:由函数Object.create()创建(ES5)
4、熟悉原型概念
4.1.原型是什么东西(prototype)?
prototype是构造函数的一个专有属性
简单说明:扩展系统对象的功能
没创建一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象。该对象的用途是包含所有实例共享的属性和方法。也就是说,我们可以所有的属性和方法添加到原型对象上去。
4.2.原型模式的优缺点
优点:添加在原型对象上的属性和方法,所有实例都可以共享使用,大量减少对象使用的内存空间。
缺点:1.不能像构造函数模式传递实参,导致创建实例对象属性和方法都是一样。 2.每次在实例上添加自己的属性,新添加的属性“优先级”较高(会覆盖原型对象上的属性)
4.3.prototype和__proto__的概念
prototype是构造函数的一个专有属性,这个属性是一个指针,指向一个对象
__proto__是一个对象拥有的内置属性(注意:prototype是函数的内置属性,__proto__是对象的的内置属性),在js内部使用寻找原型链的属性。
5、继承
继承有很多种例如:混入式继承、模拟继承、经典继承等等。
继承:建立一个基础对象的构造函数,在建立一个继承对象的构造函数,然后用prototype实现对象的继承。
6、this的指向
6.1.在全局中,this指向window
6.2.在绑定事件的处理函数中使用this,this指向事件源
6.3.在对象的方法中使用this,this 指向对象本身
6.4.在定时器中调用的函数中只用this,this指向window
6.5.在数组中存放的函数中使用this,被数组下标返回后加括号调用,this指向该数组
7、构造函数的了解
构造函数模式创建对象,必须使用new操作符,因为能够产生一类具有相同属性的对象,所以称之为构造函数模式
构造函数模式创建对象实际上经历了四个步骤
7.1:先创建一个新的空对象{}
7.2:将构造函数的作用域赋值给新对象(将构造函数的this 指向这个新对象)
7.3:执行构造函数中的代码(为新对象添加属性和方法)
7.4:返回这个新对象。
优点:1.可以动态创建和编译一个函数,不会把开发人员限制在function语句编译的函数结构体当中。 2.能够把函数当做表达式来使用,而不是当做一个结构固定的语句。
缺点:每次调用时,都要进行编译,如果在循环结构中或者经常调用函数时,会影响执行效率。
二、大概的说一下PHP面向对象
1、什么是类?
具有相同属性和方法的一系列个体的集合,类是一个抽象的概念
2、什么是对象?
从类中,拿到的具有具体属性值的个体,称为对象。对象是一个具体的个体。
3、php中静态属性和静态方法
php静态属性和静态方法定义形式也需要使用关键字“static”。
类如何防止静态属性:1.范围解析操作符(::) 2.静态属性前面加$
静态方法中不能使用$this关键字$this是实例对象,而对象不能访问静态成员
4、继承js
4.1.原型继承:将父类的实例赋值给子类的原型
4.2.call继承:call方式是函数/类,天生自带的一个方法。将父类私有的继承为子类私有的
4.3.冒充对象继承:将父类私有的和公有的都继承为子类私有的。使用for in
4.4.混合继承:私有的继承为私有的,私有的和公有的再次继承为公有的
5、call和apply的区别
1.call可以传多个参数,apply只能穿两个参数
2.call和apply都是修改函数中this 的指向的
3.第一个参数都是对象,用于替换函数中的this 的,如果不想替换this 携程null就行
6、前端提交数据的方法
6.1:Get
6.2:Post
6.3:Put
6.4:Delete
6.5:Options
6.6:Head
6.7:Trace
6.8:Connect
7、多态
PHP是弱类型语言,没有多态这个概念,有重载。 重载:子类和父类的方法,多态是强类型语言才有的。
8、抽象类
通过关键字abstract定义的类都是抽象类
只要类中的方法被定义为抽象方法,那么这个类一定都是抽象类,抽象方法必须是空。
9、常量
类中使用关键字const定义常量成员,类中访问常量使用self
10、析构方法
析构方法不能带形参,自然也不能带实参,但是可以使用$this关键字代表当前被销毁的对象。
11、魔术常量
11.1:__LINE__ 返回当前代码位于PHP文件中第多少行
11.2:__FILE__ 返回当前文件所处的绝对位置带文件名
11.3:__DIR__ 返回当前文件所在的目录
11.4:__FUNCTION__ 返回所在函数被定义的名字
12、超级全局变量
12.1:$GLOBALS 所有全局的东西都存在这里
12.2:$_SERVER 所有服务方面的信息村在这里
12.3:$_REQUEST
12.4:$_POST 客户端post提交的数据都存在这里
12.5:$_get 客户端get提交的数据都存在这里
12.6:$_COOKIE
12.7:$_SESSION 他们都是数组
13、运算
13.1:四则运算 返回的是计算结果
13.2:比较运算 返回的是true和false
13.3:==是比较运算符,只比较值 不比较类型 ===即比较值也比较类型
13.4:逻辑运算符 || && !
13.5:自增自减 a++ ++a a-- --a
13.6:三元运算 条件?表达式1:表达式2
14、php的数据类型
integer、Boolean、string、float/double、array、object、resource、null
一、前端面向对象
1、大概了解一下对象
对象:为了解决比较复杂的问题,将现实世界的实体抽象为计算机的一个概念,即将对象(Object)提炼为相关的变量和方法的集合
1.1:狭义对象:对象数据类型Object,就是{}括起来。它是一组无序的属性集合。
1.2:广义对象:在JS中,只要具有属性和方法的都可以成为对象。例如:数组、window对象、Dom、字符串等等。
2、对象的属性和方法
JavaScript中提供多个内建对象,比如string、Date、Array等等。
对象只是带有属性和方法的特殊数据类型
2.1:属性:作用跟变量一样,差别就是属性是属于对象的变量,而变量是自由的。
2.2:方法:作用跟函数一样,差别就是方法是属于对象的函数,而函数时自由的。
3、创建JavaScript对象
3.1:由对象字面量创建
3.2:由内键对象Object创建
3.3:由构造函数构造出来,然后创建新的对象实例
3.4:由函数Object.create()创建(ES5)
4、熟悉原型概念
4.1.原型是什么东西(prototype)?
prototype是构造函数的一个专有属性
简单说明:扩展系统对象的功能
没创建一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象。该对象的用途是包含所有实例共享的属性和方法。也就是说,我们可以所有的属性和方法添加到原型对象上去。
4.2.原型模式的优缺点
优点:添加在原型对象上的属性和方法,所有实例都可以共享使用,大量减少对象使用的内存空间。
缺点:1.不能像构造函数模式传递实参,导致创建实例对象属性和方法都是一样。 2.每次在实例上添加自己的属性,新添加的属性“优先级”较高(会覆盖原型对象上的属性)
4.3.prototype和__proto__的概念
prototype是构造函数的一个专有属性,这个属性是一个指针,指向一个对象
__proto__是一个对象拥有的内置属性(注意:prototype是函数的内置属性,__proto__是对象的的内置属性),在js内部使用寻找原型链的属性。
5、继承
继承有很多种例如:混入式继承、模拟继承、经典继承等等。
继承:建立一个基础对象的构造函数,在建立一个继承对象的构造函数,然后用prototype实现对象的继承。
6、this的指向
6.1.在全局中,this指向window
6.2.在绑定事件的处理函数中使用this,this指向事件源
6.3.在对象的方法中使用this,this 指向对象本身
6.4.在定时器中调用的函数中只用this,this指向window
6.5.在数组中存放的函数中使用this,被数组下标返回后加括号调用,this指向该数组
7、构造函数的了解
构造函数模式创建对象,必须使用new操作符,因为能够产生一类具有相同属性的对象,所以称之为构造函数模式
构造函数模式创建对象实际上经历了四个步骤
7.1:先创建一个新的空对象{}
7.2:将构造函数的作用域赋值给新对象(将构造函数的this 指向这个新对象)
7.3:执行构造函数中的代码(为新对象添加属性和方法)
7.4:返回这个新对象。
优点:1.可以动态创建和编译一个函数,不会把开发人员限制在function语句编译的函数结构体当中。 2.能够把函数当做表达式来使用,而不是当做一个结构固定的语句。
缺点:每次调用时,都要进行编译,如果在循环结构中或者经常调用函数时,会影响执行效率。
二、大概的说一下PHP面向对象
1、什么是类?
具有相同属性和方法的一系列个体的集合,类是一个抽象的概念
2、什么是对象?
从类中,拿到的具有具体属性值的个体,称为对象。对象是一个具体的个体。
3、php中静态属性和静态方法
php静态属性和静态方法定义形式也需要使用关键字“static”。
类如何防止静态属性:1.范围解析操作符(::) 2.静态属性前面加$
静态方法中不能使用$this关键字$this是实例对象,而对象不能访问静态成员
4、继承js
4.1.原型继承:将父类的实例赋值给子类的原型
4.2.call继承:call方式是函数/类,天生自带的一个方法。将父类私有的继承为子类私有的
4.3.冒充对象继承:将父类私有的和公有的都继承为子类私有的。使用for in
4.4.混合继承:私有的继承为私有的,私有的和公有的再次继承为公有的
5、call和apply的区别
1.call可以传多个参数,apply只能穿两个参数
2.call和apply都是修改函数中this 的指向的
3.第一个参数都是对象,用于替换函数中的this 的,如果不想替换this 携程null就行
6、前端提交数据的方法
6.1:Get
6.2:Post
6.3:Put
6.4:Delete
6.5:Options
6.6:Head
6.7:Trace
6.8:Connect
7、多态
PHP是弱类型语言,没有多态这个概念,有重载。 重载:子类和父类的方法,多态是强类型语言才有的。
8、抽象类
通过关键字abstract定义的类都是抽象类
只要类中的方法被定义为抽象方法,那么这个类一定都是抽象类,抽象方法必须是空。
9、常量
类中使用关键字const定义常量成员,类中访问常量使用self
10、析构方法
析构方法不能带形参,自然也不能带实参,但是可以使用$this关键字代表当前被销毁的对象。
11、魔术常量
11.1:__LINE__ 返回当前代码位于PHP文件中第多少行
11.2:__FILE__ 返回当前文件所处的绝对位置带文件名
11.3:__DIR__ 返回当前文件所在的目录
11.4:__FUNCTION__ 返回所在函数被定义的名字
12、超级全局变量
12.1:$GLOBALS 所有全局的东西都存在这里
12.2:$_SERVER 所有服务方面的信息村在这里
12.3:$_REQUEST
12.4:$_POST 客户端post提交的数据都存在这里
12.5:$_get 客户端get提交的数据都存在这里
12.6:$_COOKIE
12.7:$_SESSION 他们都是数组
13、运算
13.1:四则运算 返回的是计算结果
13.2:比较运算 返回的是true和false
13.3:==是比较运算符,只比较值 不比较类型 ===即比较值也比较类型
13.4:逻辑运算符 || && !
13.5:自增自减 a++ ++a a-- --a
13.6:三元运算 条件?表达式1:表达式2
14、php的数据类型
integer、Boolean、string、float/double、array、object、resource、null