最近几天一直和朋友在讨论关于对象 的问题,当然,在这里说的对象不是指男女朋友对象,是占据javascript整个的对象,毕竟js是面向对象的编程语言,那么首先我们要搞清楚什么是对象,不管你怎么去查阅资料,很难去给对象下一个定义,因为这玩意说实话没有特定的含义,需要我们去慢慢的去理解。在这里吧 我也谈一下我对对象的理解。
对象,从哲学理论(博主不是在吹,哲学思想很重要)上讲十分抽象,大家肯定听说过一切皆是对象这句话。我们看到的任何东西都可以是对象,比如电视机,电脑,空调,洗衣机。。等等我们并不知道电视机里面构造是啥 我们会用就行,就像我们不需要知道Date对象里面是啥,我们知道它是获取日期的就行。其实对象这个概念来源于生活,就像你去饭店吃饭一样,吩咐厨师来一碗苏格兰打卤面,你根本不需要知道苏格兰打卤面怎么做的,你只要知道厨师会做就行,通过调用(指挥)厨师就能获取你想要的东西(面)。
俗话说的好 要知其然知其所以然,现在我们不但要会用对象 ,我们还要学会写一个对象,这样也能帮我们更好的知道什么是对象 以及对象的一些特性。
浏览器自带的对象很多像Date,Array,Regexp,Error...等这些都是自带功能的对象,但是有一个对象自身是没有功能的,就像一个新的画布一样,我们可以在上面绘制我们想要的东西,这个对象就是Object,它是一个空白对象。现在我们做这样一个例子创建一个人物对象他的名字叫张三,年龄23,他有自己的showName,showAge方法。如下
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岁假如现在要你在创建一个人叫李四年龄24有自己的showName,showAge方法,那么我们可能会这样写
var person = new Object();
person.name = '张三';
person.age = 23;
person.showName = function(){
alert("我的名字叫"+this.name)