js类定义

function Person(name)
{
    this.name = name;
    this.say = function()
    {
        console.log(this.name)
    }
}
 

等价于

function Person(name)
{
    this.name = name;
}
Person.prototype.say = function()
 {
    console.log(this.name);
}

静态类

var objName =
{
    name:"name",
    funcName: function()
        {
        alert(this.name);
    }
}
//调用
objName.funcName();  

function objName(name)
{
    this.name = name;
    this.funcName = function()
    {
        alert(this.name);
    }
}
等价于
var objNmae = function(name)
{
    this.name = name;
    this.funcName = function()
    {
        alert(this.name);
    }
}
//调用
var obj = new objName("test");
obj.funcName();
时间: 2024-11-04 20:20:32

js类定义的相关文章

JS类定义方式

// 方法1 对象直接量 var obj1 = { v1 : "", get_v1 : function() { return this.v1; }, set_v1 : function(v) { this.v1 = v; } }; obj1.set_v1('hello1'); alert(obj1.get_v1()); // 方法2 定义函数对象 var Obj = function() { var v1 = ""; this.get_v1 = function(

js类定义函数时用不用prototype的区别?

一直在使用js编写自以为是面向对象的方法,遇到一个问题,就是定义一个方法,如下:      function ListCommon2(first,second,third) {   this.First=function () {  alert("first do"+first); } }  ListCommon2.do1=function(first) {    //   this.First();  alert("first do"+first); } List

js面向对象编程: js类定义函数时prototype和this区别?

在面向对象编写js脚本时,定义实例方法主要有两种 如下: function ListCommon2(afirst) { var first=afirst; this.do1=function () { alert("first do"+first); } } ListCommon2.prototype.do2=function() { // alert("first do"+first);//会出错,不能访问first this.do1(); } this.do1=

Js 类定义的几种方式

提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细.我们看看JavaScript中定义类的各种方法. 1.工厂方式 javaScript中创建自己的类和对象,我们应该是必须掌握的,我们都知道javaScript中对象的属性可以在对象创建后动态定义,比如下面的代码: <script type=&q

几种常用的JS类定义方法(转)

1 // 方法1 对象直接量 2 var obj1 = { 3 v1 : "", 4 get_v1 : function() { 5 return this.v1; 6 }, 7 set_v1 : function(v) { 8 this.v1 = v; 9 } 10 }; 11 12 // 方法2 定义函数对象 13 var Obj = function() { 14 var v1 = ""; 15 this.get_v1 = function() { 16 re

js面向对象编程: js类定义函数时prototype和this差别?

在面向对象编写js脚本时,定义实例方法主要有两种 例如以下: function ListCommon2(afirst) { var first=afirst; this.do1=function () { alert("first do"+first); } } ListCommon2.prototype.do2=function() { // alert("first do"+first);//会出错.不能訪问first this.do1(); } this.do

JS中定义类的方法&lt;转&gt;

转载地址:http://blog.csdn.net/sdlfx/article/details/1842218 PS(个人理解): 1) 类通过prototype定义的成员(方法或属性),是每个类对象共有的,一般不用来定义成员属性,一个对象修改了属性值,所有对象均被修改: 2) 类拥有prototype属性,类对象没有: 3) 每次new类对象或直接调用类(以下工厂方法形式),都会把定义类(function)的语句执行一次(单例模式可以避免这个情况): 4) 类是function类型,类对象是o

JS类的封装及实现代码

js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Shape类. 1. 定义js类 js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Shape类. 代码如下: function ShapeBase() { this.show = functi

JavaScript学习12 JS中定义对象的几种方式【转】

avaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascript