javascript写法: Javascript类的写法

Javascript中function即为类,在function内部用this设置类的public成员变量与方法,例如:
function myclass(name){
var str = "private string";    //private field
function privatefn(){      //private method         alert(str);
};
this.name = name;
this.pubfn = function(){
privatefn();      //call private method
alert("myclass.pubfn");
}
}
使用时用new创建对象:
var obj = new myclass("123");
var name = obj.name;    //access public field
obj.pubfn();        //call public method
上述是Javascript类最普通的写法,实际应用得较少,用得最多的是写成静态类的形式,Javascript的静态类有两种写法:
1. 类似Json对象的写法
var myclass = {
name : "123",
pubfn : function(){
alert("pubfn1 is called");
}
};

调用形式:myclass.name, myclass.pubfn()
这种写法使类的成员的访问权限均为public。
2. 匿名函数的写法
var myclass = function(){
var name = "123";        //private field
var privatefn = function(){     //private method
alert(name);
}
return{                 //return public field and method
Name: "hello " + name,    //public field
pubfn : function(){
privatefn();                //call private method
alert("this is a returned function"); //public method
}
}
}();
这种写法的好处是可以将私有和共有的成员方法和变量分开,实际应用中可将复杂的逻辑写的私有方法中,而return一个公用的接口调用私有方法。
调用形式:myclass.Name, myclass.pubfn()
注意类结尾处的小括号,它的作用是创建对象,去除小括号的话,则调用形式为:myclass().Name, myclass().pubfn()。
本文链接http://www.cxybl.com/html/wyzz/JavaScript_Ajax/20120608/28906.html

时间: 2025-01-02 04:39:37

javascript写法: Javascript类的写法的相关文章

JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载_jquery

JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载 以前对于JavaScript总是在用到的时候在页面上写几个函数,基本没考虑到函数的封装与重用,最近有个项目可能对于这方面要求有点高,所以就研究了下类似jQuery的封装. 这里就图片等比缩放以及预加载的效果来尝试下,写写类似的JavaScript代码. 图片等比缩放以及预加载的效果如下(预加载效果有时候会不是很明显): JS主要代码如下: 复制代码 代码如下: (function() { var yQuery = (fun

javascript笔记 String类replace函数的一些事_javascript技巧

我最近查阅javascript资料,发现了一个函数: 复制代码 代码如下: function format(s) { var args = arguments; var pattern = new RegExp("%([1-" + arguments.length + "])","g"); return String(s).replace(pattern,function(word,index){ return args[index]; });

javascript中定义类的方法详解

 这篇文章主要详细介绍了javascript中定义类的方法的相关资料,需要的朋友可以参考下     JS中定义类的方式有很多种: 1.工厂方式   代码如下: function Car(){ var ocar = new Object; ocar.color = "blue"; ocar.doors = 4; ocar.showColor = function(){ document.write(this.color) }; return ocar; } var car1 = Car(

Javascript中定义类

Javascript 本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的 virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象. 一:定义类并创建类的实例对象 在Javascript中,我们用function来定义类,如下: function Shape() { var x = 1 ; var y = 2 ; } 你 或许会说

JavaScript中定义类的方式详解_javascript技巧

本文实例讲述了JavaScript中定义类的方式.分享给大家供大家参考,具体如下: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象. 一.定义类并创建类的实例对象 在Javascript中,我们用function来定义类,如下: function Sh

Javascript学习6 - 类、对象、继承

原文:Javascript学习6 - 类.对象.继承     Javasciprt并不像C++一样支持真正的类,也不是用class关键字来定义类.Javascript定义类也是使用function关键字来完成的.     在Javascript中,可以把对象(object)定义为"属性的无序集合",每个属性存放一个原始值.对象或者函数.理解这一点非常重要. ECMAScript定义:对象由特性(attribute)构成,特性可以是原始值,可以是引用值,如果特性存放的是函数,它将被看作对

在JavaScript中实现类的方式探讨_javascript技巧

在 javascript 中有很多方式来创建对象,所以创建对象的方式使用起来非常灵活.那么,到底哪一种方式是最恰当的对象创建方式呢?构造模式,原型模式还是对象原意模式(Object literal)呢? 但这些模式具体是怎么回事呢? 在开始讲解之前,让我们先清楚地介绍一下关于 javascript 基本知识. 有没有可能在 javascript 中实现面向对象编程的方式呢? 答案是可能的,javascript 是可以创建对象的!这种对象可以包含数据及能够操作数据的方法,甚至可以包含其他对象.它没

JavaScript中的类继承_javascript技巧

JavaScript Inheritance DouglasCrockfordwww.crockford.com And you think you're so clever and classless and free--John Lennon JavaScript一种没有类的,面向对象的语言,它使用原型继承来代替类继承.这个可能对受过传统的面向对象语言(如C++和Java)训练的程序员来说有点迷惑.JavaScript的原型继承比类继承有更强大的表现力,现在就让我们来看看. Java Jav

JavaScript操作cookie类实例_javascript技巧

本文实例讲述了JavaScript操作cookie类.分享给大家供大家参考.具体如下: 用法: 一.设置cookie var cookie = new JSCookie(); // 普通设置 cookie .SetCookie("key1","val1"); // 过期时间为一年 var expire_time = new Date(); expire_time.setFullYear(expire_time.getFullYear() + 1); cookie .