js入门实例の构造函数\方法的定义和调用\原型对象

js|对象|函数

<script language="javascript">
function circel(radius)
{//这个函数定义了类自身,下面r是构造函数定义并并初始化的一个实例变量
    this.r=radius;
}
//该属性是类变量,他属于构造函数的一个属性
circel.PI=3.14159;
function area()
{//这个当然是计算圆面积的公式了
    return this.PI * this.r * this.r;
}
//下面我们通过把函数赋给构造函数的圆型对象使他成为一个实例方法,
//为了与Navigator3 兼容,我们必须在原型对象生成之前创建并抛弃一个对象
new circel(0);
circel.prototype.area=area;
//以下是另一个函数,他将两个参数对比,并返回较大的一个
function circel_max(a,b)
{
    if(a.r > b.r)
        return a;
    else
        return b;
}
//由于该函数比较的是两个对象,所以将他看作是对单个Circel实例方法操作是没有意义的
//但我们也不希望成为一个独立的函数,所以将他赋以一个构造函数,使他成为一个类方法
circel.max=circel_max;
//下面的代码使用了circel的各个字段
var c=new circel(1.0);        //创建circel类的一个实例
c.r=2.2;                    //设置实例的一个变量r
var a=c.area();                //调用实例的area方法
var x=Math.exp(circel.PI);    //在我们自己的计算中使用变量PI
var d=new circel(1.2);        //创建另一个circel实例
var bigger=circel.max(c,d);//使用类方法circel.max
</script>
JScript.js文件
/**//* JScript 文件
复数就是一个虚数和一个虚数的和,虚数i是-1的平方根
*/

/**//*定义类的第一步是定义该类的构造函数,资格构造函数要初始化对象的所有实例函数
这些属性是核心的“状态变量”是他们使类的每个实例互不相同
*/

function JScript(real,img)
{
    this.x=real;//实数部分
    this.y=img;//虚数部分
}

/**//*定义函类的第二步是在构造函数的原型对象中定义他的实例方法(或者其他的属性)
该对象定义的任何属性都将被这个类的所有实例继承
注意实例方法对this关键字 的隐式操作,许多方法都不需要其他的参数
*/

//返回复数的大小,他的定义是从原点(0,0)到复平面的距离
JScript.prototype.magnitude=function()
{
    return Math.sqrt(this.x * this.x + this.y * this.y);
};
//返回复数的相反数
JScript.prototype.negative=function()
{
    return new JScript(-this.x ,-this.y);
};
//以一种有效的方式把JScript对象装换成字符串,这将是把JScript对象用作字符串时候调用的函数
JScript.prototype.toString=function()
{
    return "{"+ this.x +","+ this.y +"}";
};
//返回一个复数的实数部分,该函数是在将JScript对象作为原始值处理时调用
JScript.prototype.valueOf=function() {return this.x;};

/**//*定义类的第三步是定义类方法。
常量和其他类变量作为函数构造自身的属性(而不是构造函数的原型对象的属性)
注意静态方法,没有使用this关键字,因为他们只对参数进行操作
*/
//计算两个复数的和并返回结果
JScript.add()=function(a,b)
{
    return new JScript(a.x + b.x ,a.y + b.y);
};
//用一个复数减另一个复数,返回结果
JScript.subtract()=function(a,b)
{
    return new JScript(a.x - b.x , a.y - b.y);
};
//计算两个复数的乘积,并返回结果
JScript.multiply()=function(a,b)
{
    return new JScript(a.x * b.x - a.y * b.y , a.x * b.x + x.y * b.y);
};

/**//*下面是一些有用的预定义复数,他们被定义成了类变量,这样就能够被用着常量(注意,他们实际并不是只读的)
*/

JScript.zero=new JScript(0,0);
JScript.one=new JScript(1.0);
JScript.i=new JScript(0.1);

时间: 2024-12-03 19:56:07

js入门实例の构造函数\方法的定义和调用\原型对象的相关文章

node.js入门实例helloworld详解_node.js

本文实例讲述了node.js入门实例helloworld.分享给大家供大家参考,具体如下: 将下面的代码保存为:server.js存到E盘下面的node目录中. var http = require('http'); function myNode(request, response){ response.writeHead(200, {'Content-type':'text/plain'}); response.write('hello world'); //hello world resp

React.js入门实例教程之创建hello world 的5种方式_javascript技巧

一.ReactJS简介 React 是近期非常热门的一个前端开发框架.React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西很好用,就在2013年5月开源了.由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单.所以,越来越多的人开始关注和使用,认为它可能是将来 Web 开发的主流工具. ReactJS官网地址:http:

深入理解javascript构造函数和原型对象

 常用的几种对象创建模式 使用new关键字创建 最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀! 1 2 3 4 5 6 var gf = new Object(); gf.name = "tangwei"; gf.bar = "c++"; gf.sayWhat = function() {   console.log(this.name + "said:love you forever"); } 使用字面量创建

深入理解javascript构造函数和原型对象_javascript技巧

常用的几种对象创建模式 使用new关键字创建 最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀! var gf = new Object(); gf.name = "tangwei"; gf.bar = "c++"; gf.sayWhat = function() { console.log(this.name + "said:love you forever"); } 使用字面量创建 这样似乎妥妥的了,但是宅寂的

Javascript实例教程:原型对象

文章简介:我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法.如果按照字面量的意思来理解,那么prototype就是通过调用构造函数而创建的那个对象实例的原型对象.使用原型对象 我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法.如果按照字面量的意思来理解,那么prototype就是通过调用

举例说明JavaScript中的实例对象与原型对象_基础知识

首先声明:javascript中每个对象都有一个constructor属性和一个prototype属性.constructor指向对象的构造函数,prototype指向使用构造函数创建的对象实例的原型对象. function Person(){ } var person = new Person(); Person.prototype = { constructor : Person, name : 'zxs', age : 24, sayName : function(){alert(this

javascript-js方法中是否可以用java对象 比如

问题描述 js方法中是否可以用java对象 比如 <span onclick="rj_a1_1_xg('com.bvtc.model.Rj_yd_model.Qd_jccp_rdjdcsxx@e99a7931 {DdDWDT_FL:null, WDT_FL:null 这样 如何在下面的js中获取到对象的具体值 或许你们还有更好的答案 是否可以分享一下经验呢 解决方案 JS中typeof 判断方法.对象是否存在js Math 对象方法JS公共小方法之判断对象是否为domElement 解决方

Javascript中获取对象的原型对象的方法小结_javascript技巧

在Javascript中,如果我们有一个对象但是又不知道它的构造函数时,如何获取它的原型对象呢? 在Chrome中或是FireFox浏览器中,我们可以直接使用对象的__proto__属性获取它的原型对象. 复制代码 代码如下: <!-- lang: js --> function F(){}; var foo = new F(); alert(foo.__proto__ == F.prototype); 但是,__proto__属性在IE浏览器中一直到IE11才被支持. 那么在不支持__pro

js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称

js|对象|函数|循环 1,列举对象属性的名称<script language="javascript">var obj=new Object();obj.a="您好,我是田洪川";obj.b="你是田洪川咋的,不得了啊?";obj.c="西西,哈哈,我是属性 c ";//上面当然是申明一个新的对象,并给对象申明属性再赋值//下面我们再给上面的对象做一个镶套的对象,还是加新属性并赋值obj.d=new Object