====================================================================
什么是面向对象:
使用对象是只关注对象提供的功能,不关注对象内部的细节
比如JQuery
属性 == 变量
方法 == 函数
给一个对象添加事件根本上来说是添加方法
this:当前的方法属于谁this就是谁
不能在系统对象中随意添加方法和属性,否则会覆盖已有方法和属性
要用Object对象来创建,因为它本身没有方法和属性
用this替代对象可以简化构造函数内部的代码
function creatPerson(name,qq){//构造函数
//当使用函数时前面加上new系统会偷偷创建一个this对象
// var this=new Object()
this.name=name
this.qq=qq
this.showname=function(){
alert('我的name是:'+this.name)
}
this.showqq=function(){
alert('我的qq是:'+this.qq)
}
//这里也是系统会偷偷返回this
//return this
}
window.onload=function(){
var obj2=new creatPerson('老李','564564654');
obj2.showname();
obj2.showqq();
var obj3=new creatPerson('小王','5555554');
obj3.showname();
obj3.showqq();
}
===================================================================
原型的解释:
CSS中的class(一次给一组元素加样式)
与JS中的原型一个意思
CSS中的行间样式(一次给一个元素加样式)
与JS中的给对象加事件一个意思
注释:
<script>
var arr1=new Array(15,22,55,66,44,80)
var arr2=new Array(1,2,5,6,4,6)
类Array.prototype.方法名sum=function()//原型与class类似
// arr1.sum=function() //与行间样式类似
{
var result=0;
for(var i=0;i<this.length;i++)
{
result+=this[i];
}
return result
}
alert(arr1.sum())
alert(arr2.sum())
</script>
======================================================================
类、对象
prototype(原型)
类:模子
对象:产品(成品)
类:本身不具备实际功能仅用于生产产品
对象:具备实际功能,但不能用于生产产品
用构造函数加属性:每个属性不同
用原型加方法:每个人使用的方法相同
混合方式构造对象:
原理:同时使用构造函数和原型
优势:既可以不用在系统对象中添加方法和属性又可以使对象使用的方法是一样的
类名首字母最好要大写