`

写了几种创建JS对象的例子

阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> New Document </TITLE>
<script type="text/javascript">
////////////////构造函数方式///////////////////////////////////
function myClass() {
            this.id = 5;
            this.name = 'myclass';
            this.getName = function() {
                return this.name;
            }
        }
var my = new myClass();
alert(my.id);
alert(my.getName());

//////////////////混合的构造函数/原型方式//////////////////////////////
function Car(sColor, iDoors, iMpg) {  
    this.color = sColor;  
    this.doors = iDoors;  
    this.mpg = iMpg;  
    this.drivers = new Array("Mike", "Sue");  
}  
 
Car.prototype.showColor = function () {
    alert(this.color+this.doors);
};  

Car.prototype.getValue = function(){
return this.color;
};
var oCar1 = new Car("red", 4, 23);  
var oCar2 = new Car("blue", 3, 25);  
 
oCar1.drivers.push("Matt");

alert(oCar1.drivers);    //outputs "Mike,Sue,Matt"  
alert(oCar2.drivers);    //outputs "Mike,Sue"
document.write(oCar1.getValue()+':');
////////////////////////////////////////////////////
function StringBuffer(){
this.strings = new Array;
}
StringBuffer.prototype.append=function (str){
this.strings.push(str);
};
StringBuffer.prototype.toString = function(){
return this.strings.join("");
};
var sb = new StringBuffer();
sb.append('aaaa');
sb.append('aaa1111a');
document.write(sb.toString());
///////////////动态原型方法//////////////////////////////////////////
function Bus(sColor,iDoors,iMpg) {  
  this.color = sColor;  
  this.doors = iDoors;  
  this.mpg = iMpg;  
  this.drivers = new Array("Mike","John");  
    
  if (typeof Bus._initialized == "undefined") {  
    Bus.prototype.showColor = function() {  
     alert(this.color);  
    };  
     Bus.prototype.getValue = function(){
   return 'Bus:'+this.color;
  };
    Bus._initialized = true;  
  }  
}

var bus = new Bus('red',4,'mpg');
alert(bus.getValue());
</script>
</HEAD>

<BODY>
<a href="javascript:if(confirm('要删除吗?'))">删除</a>
</BODY>
</HTML>
分享到:
评论
1 楼 tobestronger123 2012-04-13  
if (typeof Bus._initialized == "undefined") 这句话是初始化的意思吗?以前没有见过这种写法,楼主能说明一下typeof Bus._initialized 的用法吗?谢谢了!

相关推荐

    dto:JSON数据传输对象库和助手

    我永远找不到能够让我快速,轻松地使用几种不同方法的解决方案:投影,翻译和合并。 入门 安装 安装很简单,请使用npm进行安装。 现在,这是一个针对节点的项目。 如果我发现有充分的理由在浏览器上使用它,我可能...

    newClass.js:创建类似 php 的类并扩展它们(支持私有、受保护和公共可见性)

    新类.js 创建类似 php 的类并扩展它们(支持私有、... 我试图尽可能接近 javascript 风格,但仍然提供了一种简单的方法来创建可以轻松扩展的类。 能给我举个例子? examples -dir 中有几个示例向您展示了事情是如何完

    javascript函数的解释

    49.引用一个文件式的JS:&lt;script type="text/javascript" src="aaa.js"&gt; 50.指定在不支持脚本的浏览器显示的HTML:&lt;noscript&gt;&lt;/noscript&gt; 51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例...

    AJAX应用的通用流程

    因此如果编写的AJAX应用程序要和 Internet Explorer 打交道,那么必须用一种特殊的方式创建对象。 但并不是这么简单。根据 Internet Explorer 中安装的 JavaScript 技术版本不同,MSXML 实际上有两种不同的版本,...

    Java语言基础下载

    线程中断/恢复的几种方式 178 创建线程的两种方式 179 线程的控制 180 实例分析 182 内容总结 189 独立实践 190 第十二章:高级I/O流 192 学习目标 192 I/O基础知识 193 字节流 193 字符流 194 节点流 194 过程流 ...

    详解JavaScript中数组的相关知识

    js中数组的声明可以有如下几种方式: var arr = []; // 简写模式 var arr = new Array(); // new一个array对象 var arr = new Array(arrayLength); // new一个确定长度的array对象 要说明的是: 虽然第三种方法...

    jQuery详细教程

    &lt;script type="text/javascript" src="/jquery/jquery.js"&gt; &lt;script type="text/javascript"&gt; $(document).ready(function(){ $("p").click(function(){ $(this).hide(); }); }); &lt;p&gt;If you click on me, I ...

    mapped-types:Nest框架的配置模块(node.js):wolf:

    一个渐进式的框架,用于构建高效且可扩展的服务器端应用程序。 描述 @nestjs/graphql和@nestjs/swagger软件包使用的映射类型模块。... 因此, NestJS现在提供了几个实用程序函数,这些函数可以执行类型转换以帮助我

    DWR.xml配置文件说明书(含源码)

    DWR 自动将DOM、DOM4J、JDOM和XOM转换成DOM树,前面这几种类型都仅仅返回Document,Element,Node.DWR会自动将这些转换成浏览器DOM对象.通常在启动JDOM Converter时会有一个提示信息,除非你想采用JDOMconverter否则可以...

    戏说JS中的原型-Prototype

    什么是原型:在了解原型链之前我们先来看看一个函数在创建过程中做了哪些事情,举一个空函数的例子:当我们在代码里面声明这么一个空函数,js解析的本质是:1、创建一个对象(有constructor属性及[[Prototype]]属性...

    php网络开发完全手册

    1.5 几种综合网络服务器系统的安装 14 1.5.1 XAMPP 14 1.5.2 WAMP 16 1.5.3 Appserv 17 1.5.4 EasyPHP 18 1.5.5 VertrigoServ 19 1.6 几种开发工具的介绍 20 1.6.1 Vi及Vim 20 1.6.2 Eclipse+PHPEclipse插件 21 ...

    正则表达式

    在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组 成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如: /java(script) ?/ 匹配的是字符串 "java",其后既可以有 "script",...

    asp.net知识库

    关于反射中创建类型实例的两种方法 ASP.Net应用程序的多进程模型 NET委托:一个C#睡前故事 [推荐] - [原创] Microsoft .NET策略及框架概述 卸载Class? Web Form 窗体 如何实现web页面的提示保存功能 在ASP.Net中两种...

    asp.net学习大全(超全面的资料整合)

    asp.net常用的javascript经典例子.doc asp.net常用函数表.doc ASP.NET程序中常用的三十三种代码.doc ASP.NET程序中实现校验码图像生成.txt ASP.NET导出EXCEL类.txt ASP.NET导出数据到Excel.txt ASP.NET对IIS中的虚拟...

    ASP.NET学习大全

    asp.net常用的javascript经典例子.doc asp.net常用函数表.doc ASP.NET程序中常用的三十三种代码.doc ASP.NET程序中实现校验码图像生成.txt ASP.NET导出EXCEL类.txt ASP.NET导出数据到Excel.txt ASP.NET对IIS中的虚拟...

    JAVA上百实例源码以及开源项目

    两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...

    JAVA上百实例源码以及开源项目源代码

    Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用...

    亮剑.NET深入体验与实战精要2

    14.4.3 创建DAL对象的封装 517 14.4.4 实现抽象工厂模式 519 14.4.5 工厂模式的三层架构图 521 本章常见技术面试题 522 职场智慧之程序员的职业规划 523 本章小结 524 第15章 大型网站的性能优化与安全 525 15.1 ...

Global site tag (gtag.js) - Google Analytics