`
fackyou200
  • 浏览: 310744 次
  • 性别: Icon_minigender_1
  • 来自: 山西太原
社区版块
存档分类
最新评论

Javascript 类与静态类的实现1

 
阅读更多

首先说说类,在一个类里我们会有以下的几个特征:
1. 公有方法
2. 私有方法
3. 属性
4. 私有变量
5. 析构函数
我们直接看一个例子:

/***定义类***/
var Class = function(){
	var _self = this;//把本身引用负值到一变量上
	var _Field = "Test Field"; //私有字段
	var privateMethod = function(){ //私有方法
		alert(_self.Property); //调用属性
	}
	this.Property = "Test Property"; //公有属性
	this.Method = function(){ //公有方法
		alert(_Field); //调用私用字段
		privateMethod(); //调用私用方法
	}
}

 这里我已把注释都写上,大家大概也会一眼就看得明白。对于少写JS的朋友,可能会觉得奇怪为什么我会定义一个_self的变量, 因为在js里,this不用对于其他的对象语言,他的解析过程与运行过程中this会改变的。这里简单说说js里this的定义,若有需要我可以开多一 篇。
定义:this是包含它的函数作为方法被调用时所属的对象。
特征:this的环境可以随着函数被赋值给不同的对象而改变!
有兴趣的朋友可以网上找找资料了解一下,说回正题,这里的_self目的是为了开多一个私有的变量,直接指向类的本身。
刚刚还说到一个析构函数的问题,这可以直接用代码来实现。在函数的最后直接写执行代码就OK。
代码:

/***定义类***/
var Class = function(){
	var _self = this;//把本身引用负值到一变量上
	var _Field = "Test Field"; //私有字段
	var privateMethod = function(){ //私有方法
		alert(_self.Property); //调用属性
	}
	this.Property = "Test Property"; //公有属性
	this.Method = function(){ //公有方法
		alert(_Field); //调用私用字段
		privateMethod(); //调用私用方法
	}
	/***析构函数***/
	var init = function(){
		privateMethod();
	}
	init();
}  

 使用这个类,引用我同事的那句“简单得很!”
 var c = new Class();
 这样就OK

分享到:
评论

相关推荐

    Javascript 类与静态类的实现

    在JavaScript中,面向对象编程虽然没有像其他强类型语言那样直接的支持,但是通过一些技巧和模式,我们可以模拟实现类和静态类的概念。本文将详细介绍如何在JavaScript中实现类和静态类。 首先,让我们深入理解...

    Javascript 类与静态类的实现(续)

    首先,我们来看一个简单的静态类实现的例子: ```javascript var StaticClass = (function() { var Return = { Property: "Test Static Property", Method: function() { alert(_Field); privateMethod(); } ...

    纯JavaScript静态树型

    根据所提供的代码片段及描述,本文将深入探讨“纯JavaScript静态树型”(即不依赖任何框架或库,只用原生JavaScript实现的树形结构)的具体实现方式。 #### 二、关键概念与术语解释 1. **树形结构(Tree Structure)...

    Java中的静态变量静态方法静态块与静态类.docx

    对于单例模式用静态类来实现就是一个很不错的选择。 例如: ```java public class Singleton { private static class SingletonHolder { private static Singleton instance = new Singleton(); } public ...

    JS定义静态类

    在JavaScript中,静态类的概念与传统面向对象编程语言中的类有所区别。JavaScript本身是一种基于原型的动态语言,直到ES6(ECMAScript 2015)引入了类语法,才使得类的概念更加清晰。不过,这里的代码示例看起来更像...

    JavaScript面向对象之静态与非静态类

    总结来说,JavaScript面向对象编程中的静态类和非静态类概念可以通过构造函数和原型链来实现。静态类的成员是共享的,不依赖于类的实例,而非静态类的成员则属于每个实例。通过面向对象的封装、继承和多态,...

    类似淘宝的静态页面.利用javascript技术

    4. 前端框架与库:可能使用了如jQuery、Bootstrap等工具,简化JavaScript开发并提供预设样式。 5. 响应式设计:确保页面在不同设备和屏幕尺寸上都能正常显示和使用。 6. 用户界面设计:遵循良好的设计原则,使用户能...

    基于html+css+js实现的模仿华为商城静态网页源码+项目说明(附静态网页效果链接).zip

    静态网页设计实现 模仿华为商城静态网页源码 附静态网页效果链接 项目说明 html+css+js实现 基于html+css+js实现的模仿华为商城静态网页源码+项目说明(附静态网页效果链接).zip 课程作业 静态网页设计实现 模仿...

    javaScript实现另存为功能

    然后,将这些内容转换为Blob对象,Blob是JavaScript中的一个类,用于表示不可变的、原始数据的类文件对象。 2. **URL.createObjectURL()**:有了Blob对象后,可以使用URL.createObjectURL()方法生成一个临时的URL,...

    基于JavaScript Vue实现的静态网页生成-源码

    在这个“基于JavaScript Vue实现的静态网页生成_源码”项目中,我们可以看到如何整合Vue.js和JavaScript来构建静态网站。开发者可能使用Webpack或Rollup这样的打包工具将Vue组件转换为浏览器可以执行的JavaScript...

    关于javascript的“静态类

    总的来说,虽然JavaScript没有真正意义上的静态类,但我们可以通过函数和对象字面量来实现类似的功能。这种模式在编写库和模块时特别有用,因为它允许我们封装功能而不必每次都创建新的对象实例。理解这种模拟静态类...

    由浅到深了解JavaScript类

    在JavaScript中,类的概念并不是一开始就存在的,早期版本的JavaScript使用构造函数和原型来实现面向对象编程。然而,从ES6(ECMAScript 2015)开始,JavaScript引入了类语法,使得面向对象编程更加直观和简洁。 ...

    C#实现JavaScript帮助类

    帮助类可以存在于单独的类文件中或者作为一个静态类的内部类。 使用帮助类可以极大地简化开发过程,尤其是在处理复杂的功能或涉及多个对象之间的交互时。例如,一个日期帮助类可以提供各种日期计算和格式化的方法,...

    通过javascript实现单例模式.rar

    在JavaScript中,单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取该实例。...这种方法利用了JavaScript的类系统,但同样实现了单例模式的核心概念。

    javaScript面向对象概论1

    JavaScript是一种基于原型(prototype-based)的面向对象编程语言,与基于静态类(class-based)的语言如Java、C++有很大区别。在JavaScript中,对象可以直接创建,无需预先声明类,而且对象的属性和方法可以在运行时...

    css+javascript 实现扇形导航动画效果

    这个项目通过CSS来布局和设计扇形导航的静态部分,然后利用JavaScript实现动画效果,使导航菜单在用户的操作下优雅地展开和收起。 首先,我们来看看CSS在这其中的作用。CSS(层叠样式表)主要负责网页元素的样式和...

    关于MFC对话框与静态HTML交互

    1. 创建一个继承于COleControlSite的CCustomControlSite类,并实现其中的虚函数。 2. 创建一个继承于COccManager的CCustomOccManager类,并重写CreateSite函数,返回一个CCustomControlSite实例。 3. 创建一个实现...

    javascript 类, 对象 深入学习

    在这个主题中,我们将探讨JavaScript中的类与对象的实现方式,以及它们如何帮助我们构建复杂的软件系统。 首先,我们需要明白在JavaScript中,类是一种语法糖,实际上它是基于原型(prototype)的面向对象编程。ES6...

Global site tag (gtag.js) - Google Analytics