`

不错的JavaScript面向对象的简单入门介绍第1/2页

阅读更多
JavaScript是一门OOP,而有些人说,JavaScript是基于对象的。
1) 如何创建对象:
1. 使用constructor,例如:
var obj = new Object() // var 可以省略
var obj = new Date()

2. 使用对象字面值(object literals),例如:

程序代码

var obj = "123" // 创建一个String对象
var obj = /^abc$/ //创建一个RegExp对象


更加复杂的情况是,我们可以直接生成一个自定义的只有属性的对象:

程序代码

var obj = {
name:"killercat",
home:"www.i170.com/user/killercat"
}
document.write(obj.name+"<br />")
document.write(obj.home)
结果:
killercat
www.i170.com/user/killercat





2) JavaScript中的属性:
str = "www.i170.com/user/killercat" // str 一个字符串对象的引用
document.write(str.length)
通过对象的引用加上"."再加上属性名,可以访问到这个属性,也可以修改这个属性,甚至是添加一个属性,比如:
var obj = new Object()
obj.name = "killercat" // 为对象直接添加一个属性
document.write(obj.name) // 访问对象的属性
obj.name = "kcat" // 修改对象的属性
document.write(obj.name)

枚举属性值:
使用 for ... in 语句可以枚举属性(具体来说就是枚举属性名),前面已经提到过,比如
for(ele in window){
document.write(ele+"<br />")
}
如何得到属性值?
obj = new Object()
obj.p1 = "a"
obj.p2 = "b"
obj.p3 = "c"
for(ele in obj)
document.write(obj.ele) // 这是新手可能犯的错误,obj.ele 的值是undefined
应该这样访问属性值:
document.write(eval("obj."+ele))

未定义的属性:
obj = new Object()
document.write(obj.name)
结果是:undefined

删除属性:
obj = new Object()
obj.name = "killercat"
delete obj.name
document.write(obj.name)
结果是:undefined

理解属性:
我们知道在Java,c++中,属性要么属于某个类(类属性或说是静态属性),要么属于对象,也就是说,同一个类的对象,一定有一样的属性,但是JavaScript不一样,同样是Object的对象,却可以有不同的属性。除了这类的属性,JavaScript中还有静态的属性(变量)。

3) Constructor
源于某些未知原因,有些人似乎不愿意在JavaScript提到classes这个词,取代的是"对象的类型(object types)",甚至有些人直接叫函数,于是可以看见这样的说法:“我们通过预先定义好的函数,产生了一个对象”。本文使用类,这个名词。
JavaScript 定义方法的方式和定义类的方式一模一样:
function User(name,sex){ // 定义了类 User
this.name = name;
this.sex = sex;
}

user = new User("kc","man")
document.write(user.name+"<br />"+user.sex)

contructor的作用就是在初始化属性(变量)

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    面向对象JavaScript精要(英文原版pdf)

    - **第一章:JavaScript简介**:介绍JavaScript的发展历程、特点及其与Web浏览器的关系。 - **第二章:面向对象编程简介**:解释OOP的基本概念和原则。 - **第三章:JavaScript中的类和对象**:详细介绍如何使用...

    JavaScript面向对象编程指南 第2版 高清 带索引书签目录_样章.pdf

    从所提供的文件信息中,我们可以总结以下几点与“JavaScript面向对象编程指南 第2版 高清 带索引书签目录_样章.pdf”相关的重要知识点。 首先,该文件提到的书籍是关于JavaScript面向对象编程的,面向对象编程...

    JavaScript 面向对象入门精简篇第1/2页

    JavaScript的面向对象编程是其强大的特性之一,它主要围绕三个核心概念:封装、继承和多态。在这篇文章中,我们将深入探讨这些概念,并通过代码示例来理解它们在JavaScript中的应用。 **封装**是面向对象编程的基础...

    javascript 快速入门教程,javascript面向对象编程

    ### JavaScript 快速入门教程与面向对象编程 #### 一、概要 JavaScript 是一种广泛应用于网页开发中的脚本语言,具有轻量级、解释型等特点。它可以在客户端执行,无需服务器支持,使得网页能够更加动态和交互。 ##...

    JavaScript面向对象编程指南

    这本书通俗易懂,非常适合0基础入门,不仅教会你知识,还教会你学习的方法,语言非常的亲切,就像一个智者在言传身教一样。本电子书是PDF高清版,看着很舒服。

    JavaScript从入门到精通(第2版)PPT.7z

    在“JavaScript从入门到精通(第2版)PPT”这套教学资料中,我们将深入探讨JavaScript的核心概念、语法特性以及实际应用。 1. **基础概念** - **变量与数据类型**:JavaScript支持基本数据类型(如字符串、数字、...

    JavaScript书籍(JavaScript从入门到精通(第2版).pdf+高性能JavaScript.pdf)

    "JavaScript从入门到精通(第2版)" 是一本适合初学者的教程,它详细介绍了JavaScript的基本语法和概念,如变量、数据类型、控制流、函数、对象和数组等。此外,它还涵盖了DOM操作、事件处理、AJAX异步通信以及面向...

    《JavaScript入门经典(第6版)》┊ Phil Ballard PDF

    这部分内容是JavaScript面向对象编程的基础,也是理解和使用许多高级特性的前提。 书中还涵盖了事件处理和DOM操作,这是JavaScript与网页交互的核心。通过学习这些内容,读者可以理解如何响应用户的点击、键盘输入...

    JavaScript从入门到精通(第2版)书籍和源代码实例

    总之,《JavaScript从入门到精通(第2版)》是一本全面覆盖JavaScript语言和实践的指南,无论你是新手还是有一定经验的开发者,都能从中受益匪浅。通过学习和实践,你将具备创建复杂Web应用的能力,成为一名真正的...

    《JavaScript从入门到精通(第2版)》.( (美)Steve Suehring).[PDF].&ckook;

    总而言之,《JavaScript从入门到精通(第2版)》是一本全面的JavaScript教程,涵盖了从基础语法到高级特性的全方位内容。通过阅读这本书,无论是初学者还是有经验的开发者,都能进一步提升自己的JavaScript技能,...

    JavaScript从入门到精通(第2版)( (美)Steve Suehring)中文pdf扫描版-2

    7. **面向对象编程**:书中详细介绍了JavaScript的面向对象特性,包括原型继承、构造函数、类和模块模式,以及如何实现封装和多态。 8. **错误处理与调试**:学习如何有效地处理运行时错误,并使用开发者工具进行...

    JavaScript教程--从入门到精通(PPT精简版)

    2. **基于对象**:JavaScript允许开发者操作和创建对象,但与面向对象语言(如Java)不同,JavaScript是基于对象而不是完全面向对象的,这意味着它不强制使用类来创建对象。 3. **简单性**:JavaScript语法简洁,...

    JavaScript与JScript从入门到精通

    函数在JavaScript中是第一类公民,可以作为值赋给变量、作为参数传递、甚至作为返回值。JavaScript还支持闭包,这是一种强大的特性,可以用来创建私有变量或实现模块化。 在面向对象编程方面,JavaScript采用原型...

    javascript从入门到精通.rar

    这份“javascript从入门到精通.rar”压缩包包含了丰富的资源,旨在帮助初学者快速掌握这一技术,同时也适合进阶者深入理解JavaScript的核心概念。 首先,我们从基础开始。JavaScript是一种解释型的、基于原型的脚本...

    javascript入门教程

    通过这个"JavaScript入门教程",初学者将能够建立起坚实的JavaScript基础,掌握其基本语法、面向对象特性以及常用的内置对象,为进一步学习高级概念和框架如React、Vue、Angular等打下坚实的基础。不断实践和深入...

    javascript入门实例

    理解这些类型及其用法是学习JavaScript的第一步。 2. 变量与声明:使用`var`、`let`或`const`来声明变量,它们在作用域和可变性上有不同规则。例如,`let`和`const`在块级作用域内有效,而`var`在函数作用域内有效...

Global site tag (gtag.js) - Google Analytics