`
- 浏览:
148064 次
- 性别:
- 来自:
上海
-
1.用function关键字定义类
如function Shape(){
var x =1;
var y =2
}
用var shape =new Shape();可以创建类的一个实例
2.用var定义的属性是私有的,我们需要用this关键字定义公有属性。
function Shape(){
this.x = 1;
this.y = 2;
}这样就可以通过shape.x访问了。
3.定义公有方法和私有方法
js中函数是Function类的实例,Function间接继承自Object,故函数也是一个对象,因此我们可以用赋值的方法创建函数,可以将函数赋值给类的一属性变量,这个属性变量即可称为方法,因为它是一个可执行的函数。
function Shape(){
var x =1;
var y =2
this.draw = function(){
alert("画圆");
}
}
这样就可以通过shape.draw();调用了。
注意若其中的this改为var的话,则该方法为Shape类私有的了。
4.模拟构造函数
function Shape(){
var init = function init(){
//
}
init();
}
在Shape的最后,人为的调用了init函数,那么,在创建了一个Shape对象是,init总会被自动调用,可以模拟我们的构造函数了。
5.带参数的构造函数
Javascript并不支持OOP,当然也就没有构造函数了,不过,可以自己模拟一个构造函数,让对象被创建时自动调用
function Shape(a,b){
var x = 0;
var y = 0;
var init = function init(){
x = a;
y = b;
};
init();
}
这样就可以 通过var shape = new Shape(0,1)创建对象了;
6.静态属性和静态方法
function Shape(a,b){
var x = 0;
var y = 0;
var init = function init(){
x = a;
y = b;
};
init();
}
Shape.count = 20;//定义一个静态属性count,这个属性是属于类的,不是属于对象的。
Shape.staticMethod = function(){
};//定义一个静态的方法
注意:静态属性和方法都是公有的
7.在类的方法中访问私有和公有属性
function Shape(a,b){
var x = 0;
var y = 0;
this.gx =0;
this.gy =0
var init = function init(){
x = a;
y = b;
this.gx = a;
this.gy = b;
};
init();
}
8.this的主意事项
类中的this并不是一直指向我们的这个对象本身的,主要原因还是因为Javascript并不是OOP语言,而且,函数和类均用function定义,会引起一些小问题。
解决方法是我们在定义类的一开始就将this保存到一个私有的属性中,以后,我们可以用这个属性代替this。我用这个方法使用this指针相当安全,而且比较省心.
function Shape(a,b){
var _this = this;
var x = 0;
var y = 0;
_this.gx =0;
_this.gy =0
var init = function init(){
x = a;
y = b;
_this.gx = a;
_this.gy = b;
};
init();
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这篇博客“JavaScript 面向对象编程小结”可能涵盖了JavaScript中实现OOP的一些核心概念和技巧。 首先,面向对象编程的基础是类与对象。在JavaScript中,虽然没有像Java或C++那样的传统类机制,但是可以通过构造...
JavaScript 中 document 对象用法小结 JavaScript 中的 document 对象是一个非常重要的对象,它提供了大量的属性和方法来操作 HTML 文档。下面是对 document 对象的一些常用属性和方法的总结。 属性 1. `document...
### JavaScript操作文件实现方法小结 #### 一、引言 在Web开发中,JavaScript作为前端编程语言之一,主要用于客户端的交互逻辑处理。通常情况下,JavaScript并不具备直接操作用户计算机文件系统的权限,这是出于...
这篇小结将深入探讨JavaScript的基础知识,包括语法、数据类型、控制结构、函数、对象以及它在实际开发中的应用。 一、基础语法 JavaScript的语法与C++和Java相似,但它是一种弱类型的语言,意味着变量在声明时无需...
### JavaScript作用小结 #### 一、创建脚本块 在HTML文档中嵌入JavaScript时,最常用的方式是使用`<script>`标签。这可以使开发者能够编写并包含一段JavaScript代码。 1. **基本语法** ```html ...
在这个`javascript div小结`中,我们将深入探讨JavaScript如何与`div`元素交互,包括选择、操作、动态创建以及CSS样式修改等关键知识点。 首先,我们可以通过JavaScript的DOM(Document Object Model)接口来获取和...
总结以上四种方式,在JavaScript中定义类或函数,可以根据实际的应用场景和需求,选择最合适的方式来实现对象的创建和管理。工厂方式适合创建不需要保持类型统一的对象;构造函数方式则更符合面向对象的原则;原型...
在IT领域,特别是Web开发中,JavaScript作为前端开发的核心语言之一,其功能强大且灵活,能够实现各种网页交互效果。其中,网页刷新是常见的需求之一,用于更新显示内容或重新加载资源。根据提供的文件信息,我们...
小结 第3章 字面量和构造函数 对象字面量 自定义构造函数 强制使用new的模式 数组字面量 JSON 正则表达式字面量 基本值类型包装器 错误对象 小结 第4章 函数 背景 回调模式 返回函数 ...
JavaScript是一种广泛用于网页和网络应用的编程语言,尤其在网页开发中扮演着核心角色。本文将深入探讨在JavaScript中的一些关键知识点。 首先,`window.prompt()`函数是JavaScript中用于与用户交互的重要方式,它...
这篇小结将聚焦于JavaScript的基础和进阶知识,帮助你在面试中表现出色。以下是对"javascript面试应急知识点小结"的详细解析。 一、基础概念 1. 变量与数据类型:JavaScript有七种数据类型,包括基本数据类型...
JavaScript中的TextRange对象是一个用于操作HTML文档中文本流的重要接口,它允许开发者对页面中的文本执行一系列操作,如选择、搜索和修改。TextRange对象属于动态HTML(DHTML)的一部分,能够帮助开发者实现更加...
- 原型(`prototype`)是JavaScript中实现继承的关键,每个函数都有一个`prototype`属性,它是一个对象,用于共享方法。 - 当试图访问一个对象的某个属性时,如果该对象自身没有这个属性,JavaScript会查找它的`...
标题中的"JavaScript事件学习小结(一)事件流"指的是JavaScript中的事件处理机制,特别是事件流的概念。事件流描述了在DOM(文档对象模型)中事件如何从根节点传播到具体的元素节点。在JavaScript中,事件是用户与...
继承使得类可以从其他类(或多个类)继承属性和方法,从而实现代码复用。多态则意味着编写出的函数或方法可以处理多种不同类型的对象,增加了程序的灵活性。 在JavaScript中,Array对象是最常用的内置对象之一,它...
括号在JavaScript中至关重要,它们帮助我们组织代码、控制执行流程以及实现复杂的逻辑。理解括号的这些用法对于编写高效、可读的JavaScript代码至关重要。在实际编程中,合理运用括号可以极大地提升代码的清晰度和可...
JavaScript API 是百度地图提供的一套用于开发地图应用的接口,主要使用 JavaScript 语言编写,适用于在网站中构建具有高度互动性的地图功能。开发者可以通过这个 API 在网页中展示地图,进行地图的操作,如平移、...
JavaScript中的继承机制是其面向对象编程的核心特性,它允许创建基于现有对象的新对象,从而实现代码的重用和扩展。本文将深入探讨JavaScript继承的六大模式:原型链、借用构造函数、组合继承、原型式继承、寄生式...