1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > JavaScript 使用面向对象的技术创建高级 Web 应用程序

JavaScript 使用面向对象的技术创建高级 Web 应用程序

时间:2021-05-31 22:07:28

相关推荐

JavaScript 使用面向对象的技术创建高级 Web 应用程序

转载:

JavaScript

使用面向对象的技术创建高级 Web 应用程序

Ray Djajadinata

本文讨论: JavaScript 是基于原型的语言

用 JavaScript 进行面向对象的编程

JavaScript 编码技巧

JavaScript 的未来

本文使用了以下技术: JavaScript

原文地址:/zh-cn/magazine/cc163419.aspx#S1

目录:

JavaScript 对象是词典

JavaScript 函数是最棒的

构造函数而不是类

原型

静态属性和方法

闭包

模拟私有属性

从类继承

模拟命名空间

应当这样编写 JavaScript 代码吗?

JavaScript 对象是词典

在 C++ 或 C# 中,在谈论对象时,是指类或结构的实例。对象有不同的属性和方法,具体取决于将它们实例化的模板(即类)。而 JavaScript 对象却不是这样。在 JavaScript 中,对象只是一组名称/值对,就是说,将 JavaScript 对象视为包含字符串关键字的词典。我们可以使用熟悉的“.”(点)运算符或“[]”运算符,来获得和设置对象的属性,这是在处理词典时通常采用的方法。以下代码段

Js代码

varuserObject=newObjcet();

userObject.lastLoginTime=newDate();

alert(userObject.lastLoginTime);

var userObject = new Objcet();userObject.lastLoginTime = new Date();alert(userObject.lastLoginTime);

的功能与下面的代码功能完全相同:

Js代码

varuserObject={};//equivalenttonewObject()

userObject["lastLoginTime"]=newDate();

alert(userObject["lastLoginTime"]);

var userObject = {}; // equivalent to new Object()userObject["lastLoginTime"] = new Date();alert(userObject["lastLoginTime"]);

我们还可以直接在userObject的定义中定义lastLoginTime属性,如下所示:

Js代码

varuserObject={"lastLoginTime":newDate()};

alert(userObject.lastLoginTime);

var userObject = {"lastLoginTime" : new Date()};alert(userObject.lastLoginTime);

注意,它与C#3.0对象初始化值非常相似。而且,熟悉Python的人会发现在第二和第三个代码段中实例化 userObject 的方法与在 Python 中指定词典的方法完全相同。唯一的差异是 JavaScript 对象/词典只接受字符串关键字,而不是像 Python 词典那样接受可哈希化的对象。

这些示例还显示 JavaScript 对象比 C++ 或 C# 对象具有更大的可延展性。您不必预先声明属性 lastLoginTime — 如果 userObject 没有该名称的属性,该属性将被直接添加到 userObject。如果记住 JavaScript 对象是词典,您就不会对此感到吃惊了,毕竟,我们一直在向词典添加新关键字(和其各自的值)。

这样,我们就有了对象属性。对象方法呢?同样,JavaScript 与 C++/C# 不同。若要理解对象方法,首先需要仔细了解一下 JavaScript 函数。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。