需要帮助/通过原型属性创建方法

时间:2011-05-13 05:28:09

标签: javascript

请帮我理解下面的代码。这是拖放对象的脚本。我试图探索它,但有一件事情。

URL for Reference (Complete Script)

我不明白这个方法创建是如何工作的,比如get x(),set x()等。getSet是预定义的对象吗?它会实际设置对象值或获取对象的特定值,就像我们在date对象中一样。

它的声明set x()之间还有一个空格,为什么?

我是java脚本的新手,非常感谢您的帮助。

// position strings are "x,y" with no units
get x()
{
    return parseInt(this._position.split(',')[0]);
},

set x(inX)
{
    var comps = this._position.split(',');   
    comps[0] = inX;
    this.position = comps.join(',');
},

get y()
{
    return parseInt(this._position.split(',')[1]);
},

set y(inY)
{
    var comps = this._position.split(',');
    comps[1] = inY;
    this.position = comps.join(',');
},

1 个答案:

答案 0 :(得分:0)

让我们首先调用语言'JavaScript'而不是'java script'; the language is standardized as Ecmascript

Look up creation of methods in Ecmascript (JavaScript)。函数set(inX)和get()是一些原型的方法 - 线索是引用当前实例的this引用。但是,应该编写函数get()和函数集(inX)。

来自维基百科:

  

原型基于

     

原型

     

JavaScript使用原型而不是类来继承。它   可以使用原型来模拟许多基于类的功能   JavaScript的。作为对象构造函数的函数

     

函数double作为对象构造函数及其典型值   角色。使用new对函数调用进行前缀创建新对象和   调用该函数的本地this关键字绑定到该对象   对于那个调用。构造函数的prototype属性确定   用于新对象内部原型的对象。 JavaScript的   内置构造函数(如Array)也可以使用原型   改性。作为方法的功能

     

与许多面向对象的语言不同,没有区别   在函数定义和方法定义之间。相反,   在函数调用期间发生区别;可以调用一个函数   作为一种方法。当一个函数作为一个对象的方法被调用时,   function的local this关键字绑定到该对象   调用