Javascript使用function创建类的两种方法(推荐)

1、使用function类

//myFunction.js
var CMyFunc=function()
{
//类的公共方法,供外部调用
this.Func1=function()
{
var i=0;
return i;
}

this.Func2=function()
{
_privateFunc();
}

//类中的私有方法,供公共方法调用
function _privateFunc()
{
return 0;
]
}

CMyFunc myFunc=new CMyFunc();

使用:其它javascript文件引入myFunction.js后,直接使用myFunc(全局变量).Func1

2、使用function类(二)

//myFunction.js
var CMyFunc=function()
{
var myFunc=new Object();
//类的公共方法,供外部调用
myFunc.Func1=function()
{
var i=0;
return i;
}

myFunc.Func2=function()
{
_privateFunc();
}

//类中的私有方法,供公共方法调用
function _privateFunc()
{
return 0;
]

return myFunc;
}

使用:其它javascript文件引入myFunction.js后,通过var myFunc=new CMyFunc()初始化一个对象使用

优点:1、使用myFunc对象函数时有智能提示 2、不用在myFunction.js中创建全局变量 3、myFunc对象函数中的this参数指向一致

3、使用jquery扩展

//myFunction.js
(function ($) {
$.MyFunc={};

$.MyFunc.Func1=function()
{
var i=0;
return i;
}

$.MyFunc.Func2=function()
{
var i=0;
return i;
}

})(jQuery);

使用:其它javascript文件引入myFunction.js后,直接使用$.MyFunc.Func1()即可

以上这篇Javascript使用function创建类的两种方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • JavaScript中创建类/对象的几种方法总结

    在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表.字典.健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象. 一.由一对大括号括起来 复制代码 代码如下: var emptyObj = {

  • JavaScript设计模式之工厂模式和构造器模式

    什么是模式 前阵子准备期末考试,劳神又伤身的,实在闲不得空来更新文章,今天和大家说说javascript中的设计模式. 首先呢,我们需要知道的是:模式是一种可复用的解决方案,而反模式呢就是针对某个问题的不良解决方案. js反模式常见例子 1.向setTimeout和setInterval传递字符串,而不是函数,这会触发eval()的内部使用. 2.在全局上下文中定义大量的变量污染全局命名空间 3.修改Object类的原型 4.以内联形式使用js,嵌入在HTML文件中的js代码是无法包含在外部单元

  • javascript工厂方式定义对象

    每一个函数对象都有一个length属性,表示该函数期望接收的参数个数. 复制代码 代码如下: <html> <head> <script type="text/javascript"> var add =function(num1,num2,num3){     alert(num1+num2+num3); } alert(add.length); </script> </head> <body> </bod

  • JS创建类和对象的两种不同方式

    在JavaScript中, 当你定义了一个新的函数, 你实际上声明了一个新的类, 而这个函数本身就相当于类的构造函数.下面的代码向你展示了两种不同的方式来创建一个新的Person类, 而Person.prototype的定义也紧跟在函数定义之后. var Person = function(name) { // 一个匿名函数, 并将这个函数赋值给一个Person变量, 此时Person成为一个类 this.name = name; } function Person(name) { // 直接定

  • 讨论javascript(一)工厂方式 js面象对象的定义方法

    复制代码 代码如下: //60年代的汽车工厂 var ocar=new Object; ocar.color="black"; ocar.doors=2; ocar.pinpai="解放"; ocar.showPinpai=function() { alert(this.pinpai);//需要一个生产线,生产一个汽车,再生产下个汽车还需要建立新的生产线 } //70年代的汽车工厂 function createcar() { var oTempCar=new Ob

  • JavaScript创建类/对象的几种方式概述及实例

    在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表.字典.健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象. 一.由一对大括号括起来 复制代码 代码如下: var emptyObj = {

  • javascript最常用与实用的创建类的代码

    复制代码 代码如下: //以构造函数方式添加私有属性和方法 function Person(name, age, address) { this.name = name; this.age = age; this.address = address; } //以原型方式添加公有属性.方法 Person.prototype = { constructor: Person, showName: function () { alert(this.name + this.age + this.addre

  • Javascript 创建类并动态添加属性及方法的简单实现

    JavaScript 是一种很强的面向对象的语言,支持创建实例之后再添加属性和方法,虽然是小技巧,用的时候容易忘记,今天写了一个很小的例子,记录在这里,仅供参考. function MyClass() { //This function is same as a constructer alert("New Object Created"); } //Creating Object var MyObject = new MyClass (); NewObject.prototype =

  • javascript 混合的构造函数和原型方式,动态原型方式

    我们日常JS编程中最常用的方式 有下面2种: 1.混合的构造函数和原型方式 (重点) 复制代码 代码如下: function car (sColor,iNumbers){ // 构造函数只用来定义对象的所有非函数属性,即对象的属性 this.color = sColor; this.numbers = iNumbers; this.dirvers = new Array ("Jone","Leon"); } car.prototype.showColor = fun

  • JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】

    本文实例讲述了JS常见创建类的方法.分享给大家供大家参考,具体如下: Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有Class.(不过,ES6引入了Class这个概念,作为对象的模板.通过class关键字,可以定义类.ES6入门:http://es6.ruanyifeng.com/). 但是在项目开发中,经常用到JS面向对象开发,这就需要我们去用JS创建类,从而去实例化一些对象.接下来我们介绍一下在J

  • JavaScript中使用构造器创建对象无需new的情况说明

    如下 复制代码 代码如下: function Person(name, age) { this.name = name; this.age = age; } var p = new Person('lily', 20); 发现某些库代码中创建正则对象的方式无需new,这让人感到奇怪.如下 复制代码 代码如下: var reg = RegExp('^he$'); 测试发现使用或不使用new,最后返回的都是正则对象,且typeof它们都是"object". 复制代码 代码如下: var r

  • 利用MS AJAX注册Javascript命名空间并创建类

    一.为页面添加一个ScriptManager控件. 二.注册命名空间: Type.registerNamespace("Demo"); 三.为类添加构造函数.属性.方法. Demo.sample=function(){} 四.注册类. Demo.Person.registerClass('Demo.sample ', null, Sys.IDisposable); 下面是一个具体的实例: Namespace.js Type.registerNamespace("Demo&qu

随机推荐