对象创建
从最基本的层次上说,对象是一系列属性的集合,和其他语言里的散列表结果类似。
两个创建简单对象并设置属性的例子:
//创建一个新的Object对象
var obj=new Object();
obj.val=5;
obj.click=function()
{
alert(“hello”);
};
//这是一段等价代码,用{…}简写方式,结合键值对来定义属性
var obj={
val:5,
click:function()
{
alert(“hello”);
}
};
Javascript里任何函数都可以被实例化为一个对象。
function User(name)
{
this.name=name;
}
var me=new User(“My Name”);
alert(me.name==”My Name”);
alert(me.constructor == User);
User(“Test”);
//上下文对象没有设定,默认为全局的’window’对象
alert(window.name==”Test”);
1、公共方法
通过prototype实现添加。
function User(name,age)
{
this.name=name;
}
User.prototype.getName=funciton()
{
return this.name;
};
var user=new User(“Bob”);
alert(user.getName()==”Bob”);
2、私有方法
定义在构造函数内。
3、特权方法
方法在构造函数内定义并用一个公共属性引用它。
特权方法是动态生成的,因为它们是在运行时才添加到对象中的(在构造函数中),而不是在代码第一次编译时就已经生成的。
动态生成方法的例子:
function User(properties)
{
for(var i in properties)
{
(
function(which)
{
var p=i;
which[“get”+p]=function() //所谓的特权方法
{
return properties[p];
};
which[‘set’+p]=function(val) //所谓的特权方法
{
properties[p]=val;
};
}
)(this); //自执行函数,携带上下文信息
}
}
4、静态方法
类的方法:类名+”.”+字段,而对象的方法通过原型实现:this+”.”+字段 或 类名.prototype.字段。
原型式继承
原理是,对象的构造函数可以从其他对象中继承方法,它创建出一个原型对象后,所有其他的新对象都可以基于这个原型对象来构造。这种继承方式的特点是原型本身并不会从其他原型或构造函数中继承属性,而属性都是从实际对象那里继承过来的。
function Person(name)
{
this.name=name;
}
Person.prototype.getName=function()
{
return this.name;
};
function User(name,password)
{
this.name=name;
this.password=password;
};
User.prototype=new Person(); //原型就是一个对象
User.prototype.getPassword=function()
{
return this.password;
};
分享到:
相关推荐
在JavaScript面向对象的上下文中,我们可以创建专门处理Canvas绘图的类,封装复杂的绘图逻辑: ```javascript class Circle { constructor(x, y, radius) { this.x = x; this.y = y; this.radius = radius; } ...
在提供的资源中,《代码之美》PDF文件可能包含了关于编程实践和代码风格的指导,而《Javascript面向对象编程》PPT可能更具体地阐述了JavaScript OOP的细节和示例。学习这些材料将有助于深入理解JavaScript的面向对象...
在本文中,我们将介绍JavaScript面向对象编程中的经典案例,包括对象、类、继承、原型链和闭包等概念。 一、对象和类 在JavaScript中,对象是指一个实体,可以拥有自己的属性和方法。对象可以使用工厂函数或构造...
JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在... 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库
《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码...
JS面向对象的基础 写的很好的,大家去看JS面向对象的基础 JS面向对象的基础 写的很好的,大家去看JS面向对象的基础
JavaScript是一种广泛...通过深入学习这本《JavaScript面向对象编程指南(第2版)》,开发者不仅能掌握JavaScript的面向对象编程基础,还能了解到实际项目中如何有效地运用这些知识,提升编程技巧和解决问题的能力。
### JavaScript面向对象编程精要 #### 一、引言 JavaScript是一种灵活且强大的脚本语言,它虽然起源于一种简单的浏览器脚本语言,但随着时间的发展,JavaScript已经成为了一种功能全面的编程语言,尤其是在Web开发...
总而言之,学习现代JavaScript面向对象编程,有助于开发者在认识这门语言演化的基础上,运用面向对象的设计和编程模式来构建更加健壮和可维护的JavaScript应用程序。同时,测试和调试是保证代码质量不可或缺的环节,...
### JavaScript面向对象编程详解 #### 引言 在软件工程领域,面向对象编程(OOP)是一种编程范式,它使用“对象”来设计软件。每个对象都可以包含数据(属性)和方法(行为)。JavaScript虽然起初并非为面向对象...
### JavaScript面向对象精要 #### 一、概述 《JavaScript面向对象精要》是一本深入讲解JavaScript面向对象编程原理的专业书籍。本书由知名的前端开发者Nicholas C. Zakas撰写,全面介绍了JavaScript作为一种动态...
下面将详细探讨JavaScript面向对象编程的基本原理、特性以及实际应用。 1. **类与对象** - 在JavaScript中,对象是键值对的集合,可以通过字面量语法或构造函数创建。例如: ```javascript const person = { ...
JavaScript是一种广泛应用于Web开发的动态编程语言,尤其以其强大的面向对象特性而闻名。面向对象编程(Object-Oriented ...通过阅读`prototype.js`这样的示例代码,可以帮助加深对JavaScript面向对象编程的理解。