php 万物皆对象,window_javascript 面向对象编程 万物皆对象,javascript和java、C#等语言一样也 - phpStudy...

javascript 面向对象编程 万物皆对象

javascript和java、C#等语言一样也具有面向对象的一些特征,但细比较的时候,会发现这些特征并不是真正的面向对象,很多地方都是利用对象本身来模拟面向对象,所以认为javascript不能算是面向对象编程语言,而是基于对象的语言。

在javascript中真的是万物皆对象,new出来的东西是对象,方法是对象,连类也都是对象。下面分别来看一下对象、方法和类的对象特征。

1.拿内置的Date来看一下吧

复制代码 代码如下:

var time = new Date();

var timeString = time.getFullYear() + "-" +

time.getMonth() + "-" +

time.getDate() + " " +

time.getHours() + ":" +

time.getMinutes() + ":" +

time.getSeconds();

document.write(timeString);

通过 time来操作其所引用的Date对象,可以方便的调用Date的对象所包含的一系列getXX()方法来获取年月日时分秒等信息。

可以再看一下String

复制代码 代码如下:

var username = new String("hello world");

document.write(username.length);

变量username引用了new出来的字符串对象,通过username访问字符串对象的length属性。

2.方法也是对象

复制代码 代码如下:

function hello() {

alert("hello");

};

var helloRef = hello;

helloRef();

hello是一个方法,helloRef是一个引用了hello方法的变量,helloRef和hello一样都指向了相同的方法对象。也就意味着helloRef也可以执行,helloRef()。同理也可以写出以下代码。

复制代码 代码如下:

var helloRef = function() {

alert("hello");

};

helloRef();

function(){alert(“hello”)}是一个匿名方法,当然也是对象,用helloRef变量引用该方法对象后,可以通过helloRef来调用方法。

3.那么类呢?当然类也是对象,在javascript中,不像C#或java那样有class关键字用来创建类,而是直接使用方法的关键字来创建类或者叫模拟类。

复制代码 代码如下:

function Person(username, age) {

this.Name = username;

this.Age = age;

this.Introduce = function() {

alert("我叫" + this.Name + ",今年" + this.Age + "岁了。");

};

};

var person1 = new Person("张三", 20);

person1.Introduce();

以上创建了一个Person类型,Person带有构造参数username和age,通过创建的Person对象可以调用Person所包含的方法Introduce。下面对代码做一些修改。

复制代码 代码如下:

function Person(username, age) {

this.Name = username;

this.Age = age;

this.Introduce = function() {

alert("我叫" + this.Name + ",今年" + this.Age + "岁了。");

};

};

var PersonClass = Person;

var person1 = new PersonClass("张三", 20);

person1.Introduce();

重新声明新的变量PersonClass并引用Person类,PersonClass和Person都指向了原来的Person所引用的类,所以也可以用PersonClass来创建对象。

以上的几个例子可能不是很恰当,但也可以一窥javascript中万物皆对象。

下一节详细的谈一谈javascript中的对象。相关阅读:

PDF、ZIP、DOC链接的标注(CSS技巧)

入门级的ORACLE数据库备份与数据库还原

基于javascript的在火狐里面强制换行字符

顶级经典常用的CSS属性收集整理

Thinking in AJAX(二) —— WEB设计

SQL Server 2008批量删除及插入的方法

几种另类的ASP后门

添加Dropbox服务到系统右键菜单

关于HTML5和CSS3的国际化支持

PHP中实现面向对象编程

asp.net 需要登陆的网站上下载网页源代码和文件

学习并汇集javascript匿名函数

javascript来定义类的规范小结

sqlserver2005 xml字段的读写操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值