您的位置:首页 > Web前端 > JavaScript

JS面向对象基础

2012-01-31 22:36 302 查看
在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 相当于创建了函数的一个实例。

面向对象 参考文章:/article/5273994.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: