对象,从哲学理论(博主不是在吹,哲学思想很重要)上讲十分抽象,你们确定据说过一切皆是对象这句话。咱们看到的任何东西均可以是对象,好比电视机,电脑,空调,洗衣机。。等等咱们并不知道电视机里面构造是啥 咱们会用就行,就像咱们不须要知道Date对象里面是啥,咱们知道它是获取日期的就行。其实对象这个概念来源于生活,就像你去饭店吃饭同样,吩咐厨师来一碗苏格兰打卤面,你根本不须要知道苏格兰打卤面怎么作的,你只要知道厨师会作就行,经过调用(指挥)厨师就能获取你想要的东西(面)。
var person = new Object(); person.name = '张三'; person.age = 23; person.showName = function(){ alert("个人名字叫"+this.name) } person.showAge = function(){ alert("个人年龄是"+this.age+"岁") } person.showName();//个人名字叫张三 person.showAge();//个人年龄是23岁
var person = new Object(); person.name = '张三'; person.age = 23; person.showName = function(){ alert("个人名字叫"+this.name) } person.showAge = function(){ alert("个人年龄是"+this.age+"岁") } person.showName();//个人名字叫张三 person.showAge();//个人年龄是23岁 //................................. var person1 = new Object(); person1.name = '李四'; person1.age = 24; person1.showName = function(){ alert("个人名字叫"+this.name) } person1.showAge = function(){ alert("个人年龄是"+this.age+"岁") } person1.showName();//个人名字叫李四 person1.showAge();//个人年龄是24岁
function Createperson(name,age){ //原料 var Person = new Object(); //加工 Person.name = name; Person.age = age; Person.showName = function(){ alert("个人名字叫"+this.name) } Person.showAge = function(){ alert("个人年龄是"+this.age+"岁") } //出厂 return Person; } var person = Createperson('张三',23) person.showName();//个人名字叫张三 person.showAge();//个人年龄是23岁 //................................. var person1 = Createperson('李四',24) person1.showName();//个人名字叫李四 person1.showAge();//个人年龄是24岁
- 构造函数:Createperson函数在这里有一个别名叫作构造函数,为何呢?由于它是专门用来生成对象的。
- 属性:构造函数里面的name和age叫作属性,其实属性和变量是一个概念,只不过变量是自由的,而属性是属于一个对象的,
- 工厂方式:建立对象的方式有不少种,而这里运用的是工厂方式,就是原料>加工>出厂的过程。
function show (){ alert(this); } show()//window new show()//Object //也就是说当没有new 的时候,this是指向window的,由于这个方法自己就属于window,而当添加上new的时候此时this指向的是一个新的对象
function Createperson(name,age){ //var Person = new Object(); this.name = name; this.age = age; this.showName = function(){ alert("个人名字叫"+this.name) } this.showAge = function(){ alert("个人年龄是"+this.age+"岁") } //return Person; } var person = new Createperson('张三',23) person.showName();//个人名字叫张三 person.showAge();//个人年龄是23岁 //................................. var person1 = new Createperson('李四',24) person1.showName();//个人名字叫李四 person1.showAge();//个人年龄是24岁
function Createperson(name,age){ //var Person = new Object(); //浏览器会偷偷的这样作 var this = new Object(); this.name = name; this.age = age; this.showName = function(){ alert("个人名字叫"+this.name) } this.showAge = function(){ alert("个人年龄是"+this.age+"岁") } //return Person; //浏览器偷偷的return this } var person = new Createperson('张三',23) person.showName();//个人名字叫张三 person.showAge();//个人年龄是23岁 //................................. var person1 = new Createperson('李四',24) person1.showName();//个人名字叫李四 person1.showAge();//个人年龄是24岁
- 原型:什么是原型呢?其实原型咱们以前接触过,可能你没有很深的概念,在css中咱们给一组元素添加样式会用到class,给一个元素添加样式可能会用到行间样式,然而在js中给一组对象添加方法就叫作原型,例以下面一个简单的例子
var arr1 = new Array(1,2,3); var arr2 = new Array(1,2,4); arr1.sum = function(){ var result = 0; for(var i =0;i<this.length; i++){ result += this[i]; } return result; } alert(arr1.sum())//6 alert(arr2.sum())//arr2.sum is not a function
var arr1 = new Array(1,2,3); var arr2 = new Array(1,2,8); Array.prototype.sum= function(){ var result = 0; for(var i =0;i<this.length; i++){ result += this[i]; } return result; } alert(arr1.sum())//6 alert(arr2.sum())//11
- 类 什么是类呢 类其实就是一个模子 Array ,Date就是类 也能够管类叫作构造函数 模子的做用是成产产品,而类的做用是生产对象
就像var arr = new Array();那么arr就是成产出来的对象(产品),Array就是模子(类)
function Createperson(name,age){ //var Person = new Object(); this.name = name; this.age = age; } Createperson.prototype.showName = function(){ alert("个人名字叫"+this.name) } Createperson.prototype.showAge = function(){ alert("个人年龄是"+this.age+"岁") } var person = new Createperson('张三',23) person.showName();//个人名字叫张三 person.showAge();//个人年龄是23岁 //................................. var person1 = new Createperson('李四',24) person1.showName();//个人名字叫李四 person1.showAge();//个人年龄是24岁
有任何疑问能够进群4744717759交流谢谢。2017-3-18-00:16javascript