JScript创建自己的对象

js|jscript|创建|对象

  创建自己的对象
  要创建自己的对象实例,必须首先为其定义一个构造函数。构造函数创建一个新对象,赋予对象属性,并在合适的时候赋予方法。例如,下面的示例为 pasta 对象定义了构造函数。注意 this 关键字的使用,它指向当前对象。

  // pasta 是有四个参数的构造器。
  function pasta(grain, width, shape, hasEgg)
  {
  // 是用什么粮食做的?
  this.grain = grain;

   // 多宽?(数值)
  this.width = width;

   // 横截面形状?(字符串)
  this.shape = shape;

   // 是否加蛋黄?(boolean)
  this.hasEgg = hasEgg;
  }
  定义了对象构造器后,用 new 运算符创建对象实例。

  var spaghetti = new pasta("wheat", 0.2, "circle", true);
  var linguine = new pasta("wheat", 0.3, "oval", true);
  可以给对象实例添加属性以改变该实例,但是用相同的构造器生成的其他对象定义中并不包括这些属性,而且除非你特意添加这些属性那么在其他实例中并不显示出来。如果要将对象所有实例的附加属性显示出来,必须将它们添加到构造函数或构造器原型对象(原型在高级文档中讨论)中。

  // spaghetti 的附加属性。
  spaghetti.color = "pale straw";
  spaghetti.drycook = 7;
  spaghetti.freshcook = 0.5;

  var chowFun = new pasta("rice", 3, "flat", false);
  // chowFun 对象或其他现有的 pasta 对象
  // 都没有添加到 spaghetti 对象
  // 的三个新属性。

  
  // 将属性‘foodgroup’加到 pasta 原型对象
  // 中,这样 pasta 对象的所有实例都可以有该属性,
  // 包括那些已经生成的实例。
  pasta.prototype.foodgroup = "carbohydrates"

  // 现在 spaghetti.foodgroup、chowFun.foodgroup,等等
  // 均包含值“carbohydrates”。
  在定义中包含方法
  可以在对象的定义中包含方法(函数)。一种方法是在引用别处定义的函数的构造函数中添加一个属性。例如,下面的示例扩充上面定义的 pasta 构造函数以包含 toString 方法,该方法将在显示对象的值时被调用。

  // pasta 是有四个参数的构造器。
  // 第一部分与上面相同。
  function pasta(grain, width, shape, hasEgg)
  {
  // 用什么粮食做的?
  this.grain = grain;

   // 多宽?(数值)
  this.width = width;

   // 横截面形状?(字符串)
  this.shape = shape;

  // 是否加蛋黄?(boolean)
  this.hasEgg = hasEgg;

   // 这里添加 toString 方法(如下定义)。
  // 注意在函数的名称后没有加圆括号;
  // 这不是一个函数调用,而是
  // 对函数自身的引用。
  this.toString = pastaToString;
  }

  // 实际的用来显示 past 对象内容的函数。
  function pastaToString()
  {
  // 返回对象的属性。

   return "Grain: " + this.grain + "\n" +
   "Width: " + this.width + "\n" +
   "Shape: " + this.shape + "\n" +
   "Egg?: " + Boolean(this.hasEgg);
  }

  var spaghetti = new pasta("wheat", 0.2, "circle", true);
  // 将调用 toString() 并显示 spaghetti 对象
  // 的属性(需要 Internet 浏览器)。
  window.alert(spaghetti);

时间: 2024-11-17 11:29:21

JScript创建自己的对象的相关文章

Effective Java -->(一)创建和销毁对象

创建|对象 Effective Java学习笔记JAVA语言支持四种基本类型:接口(Interface).类(Class).数组(Array).和原语类型(Primitive).前三种类型通常被称为引用类型(reference type),类的实例和数组是对象(object),而原语类型的值不是对象.一个类的成员(member)包括它的域(field),方法(method),成员类(member class)和成员接口(member interface).一个方法的原型(signature)包括

创建CSS的对象 使CSS对象的粒度合适

网页制作Webjx文章简介:创建CSS的对象 使CSS对象的粒度合适. 强硬的把CSS和HTML塞到PHP里面可以防止代码太枯燥(DRY)并最终导致代码臃肿,因为的CSS和HTML需要比PHP更细致的对象结构.事实上,PHP的模板不是天生合适的,因为每个模板包含了许多不同的HTML,以及以不同的方式相结合的CSS对象. 然后,我并没有解释它,或者给出适当的语境.抱歉! 正确的粒度是减小CSS的关键之一 在PHP层,下面的会话流(来自Facebook)或许是一个单个对象.所有的检测哪些HTML要显

创建自己的对象

创建|对象 要创建自己的对象实例,必须首先为其定义一个构造函数.构造函数创建一个新对象,赋予对象属性,并在合适的时候赋予方法.例如,下面的示例为 pasta 对象定义了构造函数.注意 this 关键字的使用,它指向当前对象. // pasta 是有四个参数的构造器.function pasta(grain, width, shape, hasEgg){ // 是用什么粮食做的? this.grain = grain; // 多宽?(数值) this.width = width; // 横截面形状

JavaScript创建一个object对象并操作对象属性的用法

 这篇文章主要介绍了JavaScript创建一个object对象并操作对象属性的用法,实例分析了javascript使用object类定义对象及属性的用法,需要的朋友可以参考下     本文实例讲述了JavaScript创建一个object对象并操作对象属性的用法.分享给大家供大家参考.具体分析如下: 下面的JS代码创建了一个myMovie对象,并给对象title和director属性赋值,通过Object定义对象,其属性可以不用定义,直接调用即可,非常简单. ? 1 2 3 4 5 6 <sc

android studio-Android Studio1.4版本无法在MainActivty中创建AIDL接口对象,rebuild提示aidl.exe出错,该如何解决?

问题描述 Android Studio1.4版本无法在MainActivty中创建AIDL接口对象,rebuild提示aidl.exe出错,该如何解决? Android Studio1.4版本无法在MainActivty中创建AIDL接口对象,rebuild提示aidl.exe出错,该如何解决? 解决方案 Android Studio中创建AIDL Service

jar-hibernate创建服务注册对象时候出现这个问题,是什么原因还有怎么解决呢?

问题描述 hibernate创建服务注册对象时候出现这个问题,是什么原因还有怎么解决呢? 这是报错的信息,hibernate的jar包已经导入,问题出在哪里?新手已经被这个问题困扰很久了,希望高手帮忙解决. 解决方案 jdk包没有引进来,选择正确的jre

代码-创建QQuickView的对象就报段错误

问题描述 创建QQuickView的对象就报段错误 编译了一个MIPS平台的QT5.3.2,为什么一创建QQuickView的对象就报段错误.代码: int main(int argc,char* argv[]) { QGuiApplication app(argc, argv); QQuickView view; //出错行,创建对象就报段错误. view.setSource(QUrl("qrc::///mail.qml")); view.show(); app.exec(); }

和我一起学Effective Java之创建和销毁对象

前言 主要学习创建和销毁对象: 1.何时以及如何创建对象 2.何时以及如何避免创建对象 3.如何确保它们能够适时地销毁 4.如何管理对象销毁之前必须进行的清理动作 正文 一.用静态工厂方法代替构造器 获取类的实例的常用方法有: 1.公有的构造器 2.公有的静态工厂方法 下面通过Boolean类(基本类型boolean的包装类)的简单示例来学习: //公有的构造器 public Boolean(String s) { this(parseBoolean(s)); } //公有的静态工厂方法 pub

wpf为何在c#代码里创建了Button对象在调试时就出错要我去创建Button?

问题描述 wpf为何在c#代码里创建了Button对象在调试时就出错要我去创建Button? Button[] btn = new Button[35]; for (int i = 0; i < 35; i++) { for (int j = 1; j < 6; j++) for (int h = 0; h < 7; h++) { btn[i].Padding = new Thickness(28, 10,28,10); btn[i].FontSize = 26; btn[i].Fore