- 浏览: 887279 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
javascript几乎成了如今web开发人员必学必会的一门语言,但很多人却只停在了一些表单验证等基础操作层面上,在面向对象语言大行其道的当下,我们需要去学习javascript的面向对象的知识,以便更好的掌握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中的对象。
发表评论
文章已被作者锁定,不允许评论。
-
HTML特殊字符显示
2011-08-16 21:45 1006有些字符在HTML里有特别的含义,比如小于号<就表示HT ... -
html标签a的target属性的用法
2011-08-02 00:40 10911:如果使用标签<a>来链接到一个页面的话,tar ... -
JavaScript中的函数:函数的apply、call方法和length属性
2011-06-03 13:39 820转:http://www.smallrain.net/stud ... -
JS arguments 属性
2011-06-03 13:38 902arguments 属性 为当前执行的 function 对象 ... -
JS数组方法汇总
2011-03-31 12:18 1038js数组元素的添加和删除一直比较迷惑,抽个时间总结如下:var ... -
选择,分组和引用
2011-03-17 12:59 821正则表达式的语法还包 ... -
javascript 中定义private 方法
2011-03-15 09:49 956出处:http://aoqi1883.blog.163.com ... -
event.returnValue和return false的区别
2011-03-15 09:48 1236<!DOCTYPE html PUBLIC " ... -
JavaScript--execCommand指令集
2011-03-15 09:23 964<HTML> <HEAD> ... -
个性博客-七款超靓天气预报免费代码
2011-03-15 09:12 1012第一种: <iframe src="http: ... -
js判断对象是否是某一类型
2011-03-15 09:05 946<!DOCTYPE html PUBLIC " ... -
常用的DOCUMENT.EXECCOMMAND
2011-03-15 09:04 1047<input type=button value=剪切 ... -
解决IE6中 Div层挡不住Select组件
2011-03-14 09:39 1098/** * 通过使用Ifram,解 ... -
配置文件(fckconfig.js)中主要配置项目如下
2011-02-18 10:59 891FCKConfig.CustomConfigurationsP ... -
[转]疯狂的跨域技术
2011-01-30 15:36 1075JavaScript是一种在Web开发中经常使用的前端动态脚本 ... -
JAVASCRIPT中RegExp.$1是什么意思
2011-01-28 15:02 2195RegExp 是javascript中的一个内置对象。为正则表 ... -
js监听WEB页面关闭事件
2010-12-31 10:54 6396javascript捕获窗口关闭事件有两种方法 onbefor ... -
天气数据调用代码,总结了一下收藏
2010-12-14 12:41 1100转载于:http://blog.csdn.net/ ... -
自动跳转
2010-12-13 15:43 931<meta http-equiv="refre ... -
JavaScript面向对象编程
2010-12-07 23:27 893创建自己的对象 要创 ...
相关推荐
面向对象编程是一种编程范式,它使用“对象”来设计软件。对象可以被视为一组属性(数据)和方法(行为)的封装体。 #### JavaScript是否为面向对象语言? - **不是面向对象语言的传统定义**:从传统意义上讲,如...
JavaScript 面向对象编程(OOP)是编程领域中的一个重要概念,特别是在Web开发中,JavaScript作为客户端的主要脚本语言,其OOP能力对于构建复杂、可维护的应用至关重要。@juandc 在 @Platzi 的课程中深入探讨了这个...
面向对象编程(OOP)在JavaScript中占据重要地位。通过构造函数、原型链和类(ES6引入)来创建和继承对象,理解这些机制能帮助我们构建可维护和扩展的代码结构。此外,模块系统(如CommonJS和ES6的import/export)也...
首先,我们要理解"万物皆对象"的概念。这意味着我们可以将任何复杂的事物抽象为对象,这些对象拥有特定的属性(即特征)和方法(即动作)。比如,在设计一个购物车系统时,我们可以创建"商品"和"购物车"两个对象。...
2. **万物皆对象** 在Java中,任何事物都可以被抽象为对象。对象是对现实世界中某个实体的模拟,包含了该实体的属性(成员变量)和行为(成员方法)。类是对象的蓝图,描述了具有相同属性和行为的一组对象的通用...
总的来说,JavaScript的面向对象编程模型提供了丰富的工具,使开发者能够灵活地组织和管理代码,创建复杂的应用程序。理解并熟练掌握JavaScript的对象系统对于任何Web开发者来说都是至关重要的。
9. **面向对象编程**:JavaScript支持基于原型的面向对象编程,包括构造函数、实例化、原型继承和方法重写。 10. **ES6及以后的新特性**:包括箭头函数、解构赋值、模板字符串、let和const、类与模块、Promise、...
3. **对象和原型链**:JavaScript的万物皆对象,对象可以通过构造函数和字面量方式进行创建。原型链是JavaScript实现继承的关键机制,理解这一点对于掌握面向对象编程至关重要。 4. **DOM操作**:文档对象模型(DOM...
对象可以通过键值对存储数据,而原型链则用于对象之间的继承,是理解JavaScript面向对象编程的关键。 3. **DOM操作**:Document Object Model(DOM)是HTML和XML文档的结构化表示,JavaScript通过DOM API可以操作...
JavaScript的万物皆对象,每个对象都有一个内部[[Prototype]]链接,通常通过__proto__或Object.getPrototypeOf访问。原型链是JavaScript继承的基础,理解原型、构造函数和实例之间的关系,能帮助我们更好地实现面向...
在JavaScript中,万物皆为对象,对象的创建和属性访问方式、原型链的理解以及如何使用构造函数和原型模式进行面向对象编程是关键。此外,闭包和作用域也是JavaScript中的重要特性,它们对于函数的封装和模块化有重大...
JavaScript虽然不是一种纯粹的面向对象语言,但它支持面向对象编程的一些特性,比如对象创建、原型链继承等。 #### 三、JavaScript的简朴之美 在理解JavaScript的核心原理时,我们需要回归到最简单的数据与代码的...
3. **对象与原型链**:JavaScript的万物皆对象,包括函数也是对象。书中会讲述对象的创建、属性和方法的访问,以及原型和原型链在继承中的作用。 4. **数组和集合**:数组是存储一组有序数据的数据结构,书中会涵盖...
首先,JavaScript是一种解释型的、面向对象的、动态类型的脚本语言。它主要应用于Web浏览器,但也可在服务器端(如Node.js)和其他环境运行。JavaScript的学习应从基础语法开始,包括变量声明、数据类型(如字符串、...
3. **对象与原型**:JavaScript的万物皆对象,书中详细讲解了如何创建和操作对象,包括字面量语法、构造函数、原型链、原型继承以及对象的属性和方法。 4. **函数与闭包**:函数是JavaScript的核心,不仅用于代码...
JavaScript是一种解释型、面向对象的脚本语言,最初由Netscape公司的Brendan Eich设计,用于增强网页的交互性。它不同于Java,尽管它们在名称上相似。JavaScript主要运行在浏览器环境中,但随着Node.js的出现,现在...
"这句描述似乎暗示了JavaScript中的核心概念——万物皆对象,类型动态转换,以及其简洁的哲学思想。 首先,让我们从“对象本无根”这句话入手。在JavaScript中,一切皆为对象,包括基本类型如数字、字符串和布尔值...
9. **面向对象编程**:尽管JavaScript是基于原型的,但通过类(class)和实例(instance)可以实现面向对象编程,模拟类继承和多态。 10. **错误处理**:学习如何使用try...catch处理运行时错误,并了解不同类型的...