JS面向对象基础
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 769
在js中函数就是对象,对象就是函数。方法直接调用就是函数,用new调用就是对象。JavaScript中没有类的语法,是用函数闭包(closure)模拟出来的,下面讲解的时候还是用C#中的类、构造函数

在js中函数就是对象,对象就是函数。
方法直接调用就是函数,用new调用就是对象。
JavaScript中没有类的语法,是用函数闭包(closure)模拟出来的,下面讲解的时候还是用C#中的类、构造函数的概念,JavaScript中String、Date等“类”都被叫做“对象”,挺怪,但方便初学者理解,不严谨。JavaScript中声明类(类不是类,是对象)。

Example(写一个Person对象):

function Person()  {   }   //ok,就这么简单。

如何使用Perosn对象?

var p=new Person();// “var p”  不是   “Person p”。
p.Name=‘张三’;//动态语言,所以可以直接写。
p.Age=30;
p.SayHello=function() { alert(‘Hi~’); }
alert(p.Name);
alert(p[‘Age’]);//另外一种动态访问属性的方式。

闭包:简单的理解就是在函数(“外部函数”)中又定义了函数(“内部函数”),并且可以在“外部函数”之外,使用“内部函数”。

JavaScript同样支持this关键字

构建一个带参数的Person对象。通过this关键字为对象的属性赋值。

function Person(name, age) {
this.Name = name;
this.Age = age;
this.ShowInfo = function() {
alert('大家好,我叫' + this.Name + ',今年' + this.Age + '岁了。');
}}
var zjl = new Person('周杰伦', 20);
zjl.ShowInfo();

function Person(name,age)可以看做是声明构造函数,Name、Age这些属性是使用者动态添加的。

var p1 = Person(“周杰伦", 20);//不要丢了new,否则就变成调用函数了,p1为undefined。
new 相当于创建了函数的一个实例。

面向对象 参考文章:http://www.cnblogs.com/heros/archive/2009/09/14/1566622.html

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2