�I�u�W�F�N�g�Ƃ͂��̖��̒ʂ�u���v�̂��Ƃł��B�������E�ɂ͐F�X�ȕ�������܂��B�Ⴆ�A�͂��݁A���M�A�{�Ȃǂ́u���v�ł��B���ۂɂ̓v���O�����ł́u��ԁv��ϐ��ŕ\���A�u�ӂ�܂��v�����i���\�b�h�j�ŕ\�����ƂɂȂ�܂��B
�������������ɂ́u��ԁv��u�ӂ�܂��v������܂��B�Ⴆ�A���M�ł���A�u��ԁv�͐��̐F�A�F�̔Z���A���̑����ȂǂŁA�u�ӂ�܂��v�͐���������Ȃǂł��B
�������������́u��ԁv��u�ӂ�܂��v���v���O�����Ɏ��������̂��I�u�W�F�N�g�w���ł��B
var date = new Date();�� date �� Date �N���X�̃C���X�^���X�Ƃ������ƂɂȂ�܂��B
function Rectangle( w, h ){ this.width = w ; // �����`�̕� this.height = h ; // �����`�̍��� }����� Rectangle �N���X�̃R���X�g���N�^���͒�`�ł��܂����B
var r0 = new Rectangle( 2, 1 ); var r1 = new Rectangle( 4, 2 );����� r0 �� r1 �� Rectangle �N���X�̃C���X�^���X�i�I�u�W�F�N�g�j�ɂȂ�܂����B
width,height
�����o���ɂ͎��̂悤�ɂ��܂��B
status = r0.width ; // ���ʂ� 2�h�b�g(.)���Z�q ���g�p���āA���̌��Ƀv���p�e�B�����w�肷�邱�ƂɂȂ�܂��B�ȒP�ł��ˁB
// �R���X�g���N�^���̒�` function Rectangle( w, h ){ this.width = w ; // �����`�̕� this.height = h ; // �����`�̍��� } // ���̊������\�b�h�ɂȂ�B // ������ this �L�[���[�h���g�p���Ă��邱�Ƃɒ��� function getArea_Rectangle(){ return this.width * this.height ; } // �C���X�^���X���� var r0 = new Rectangle( 3, 2 ); // ���\�b�h�̒�` r0.getArea = getArea_Rectangle ; // ���\�b�h�̌Ăяo�� status = r0.getArea(); // ���ʂ� 3*2 �� 6���̂悤�Ƀ��\�b�h��lj�����Ƃ��̓h�b�g(.)���Z�q�̌��Ń��\�b�h�����w�肵�� = �̂��ƂɎ��ۂɏ�����������w�肵�܂��B�ȒP�ł���ˁB
// �R���X�g���N�^���̒�` function Rectangle( w, h ){ this.width = w ; // �����`�̕� this.height = h ; // �����`�̍��� } // ���̊������\�b�h�ɂȂ�B // ������ this �L�[���[�h���g�p���Ă��邱�Ƃɒ��� function getArea_Rectangle(){ return this.width * this.height ; } // ���\�b�h�̒�` Rectangle.prototype.getArea = getArea_Rectangle ; // �C���X�^���X���� var r0 = new Rectangle( 3, 2 ); var r1 = new Rectangle( 4, 6 ); // ���\�b�h�̌Ăяo�� status = r0.getArea(); // ���ʂ� 3*2 �� 6 status = r1.getArea(); // ���ʂ� 4*6 �� 24prototype �Œlj����ꂽ���\�b�h�͑S�C���X�^���X�ŋ��L�i�Ɍp���j����܂��B
var r0 = new Rectangle( 3, 2 ); var r1 = new Rectangle( 4, 6 ); status = ( r0 == r1 );����́A�\�z�ʂ� false ���\������܂��B�ł́A���͂ǂ��ł��傤�B
var r0 = new Rectangle( 1, 1 ); var r1 = new Rectangle( 1, 1 ); status = ( r0 == r1 );true ���Ԃ����Ǝv���܂����H
var r0 = new Rectangle( 1, 1 ); var r1 = r0 ; status = ( r0 == r1 );����� true ���\������܂��i����͎Q�Ƃ��Ă���ꏊ���ꏏ�̂��߂ɂ����Ȃ�܂��j�B
var r0 = new Rectangle( 4, 3 ); var r1 = r0 ; r0.width = 5 ; status = r1.width ;������ 4 �ł͂Ȃ��A5 �ł��B
var r0 = new Rectangle( 4, 3 ); var r1 = new Rectangle( r0.width, r0.height ); r0.width = 5 ; status = r1.width ;�������Ă����A�X�e�[�^�X�o�[�ɕ\�������̂� 4 �ł��B
number,boolean,string
�j�ƎQ�ƌ^(object,array,function
)�̑傫�ȈႢ�ł����A������܂����ł��傤���H
�N���X�F���̏�Ԃ�ӂ�܂����`�������iRectangle
�Ȃǁj
�C���X�^���X�F�N���X���琶���inew�j���ꂽ���ۂ̂��́ir0,r1
�Ȃǁj
�C���X�^���X�ϐ��F�C���X�^���X�ŗL�Ŏ����Ă���l�iwidth,height
�Ȃǁj
�C���X�^���X���\�b�h�F�N���X�̃C���X�^���X�S�Ăŋ��L������igetArea
�Ȃǁj
�N���X�ϐ��F�N���X���̂��̂Ɋ֘A�t����ꂽ�ϐ��iMath.PI
�Ȃǁj
�N���X���\�b�h�F�N���X���̂��̂Ɋ֘A�t����ꂽ���iString.fromCharCode
�Ȃǁj
�����o�F�N���X�̓����ɂ���ϐ��Ȃǂ̍\���v�f�S��
Rectangle.SQRT2 = 1.414 ;�I���ł��i�j
function Rectangle( w, h ){ this.width = w ; // �����`�̕� this.height = h ; // �����`�̍��� } function getArea_Rectangle(){ return this.width * this.height ; } // �C���X�^���X���\�b�h�̒�` Rectangle.prototype.getArea = getArea_Rectangle ; // ���̊��� Rectangle �N���X�̃N���X���\�b�h�ɂȂ� function getAreaMax_Static_Rectangle( p, q ){ return Math.max( p.getArea(), q.getArea() ); } // �N���X���\�b�h�̒�` Rectangle.getAreaMax = getAreaMax_Static_Rectangle ; // �C���X�^���X���� var r0 = new Rectangle( 3, 2 ); var r1 = new Rectangle( 4, 6 ); status = Rectangle.getAreaMax( r0, r1 ); // ���ʂ� 24�����悤�ɃN���X���̂��ƂɃ��\�b�h���������悢�ł��B
function SuperClass(){ ... } function SubClass(){ ... } SubClass.prototype = new SuperClass ;prototype �I�u�W�F�N�g���ĕ֗��ł��ˁi�j
new SuperClass
�̌��Ɋ��ʂ��Ȃ��̂� new SuperClass()
�Ə������̂Ɠ����ŁAnew ���Z�q�̓���ł��B�������Ȃ��Ƃ��ɂ��̂悤�ɏȗ��ł��܂��Bfunction SuperClass( p, q ){ this.p = p ; this.q = q ; } function SubClass( p, q ){ this.constructor( p, q ); } SubClass.prototype = new SuperClass ;constructor �����g�p������̂悤�ɊȌ��ɂ����܂��iJava��super�݂����Ɏg�p���Ă܂��j�B constructor ���͍쐬���̊���Ԃ��̂ŁA���������� prototype �v���p�e�B�̓����������͕�����̂ł͂Ȃ��ł��傤���B
// ���ꂪ Rectangle �N���X�� toString ���\�b�h�ɂȂ� function toString_Rectangle(){ return "�����` : "+this.width+"�~"+this.height ; } function Rectangle( w, h ){ this.width = w ; this.height = h ; } Rectangle.prototype.toString = toString_Rectangle ; var r0 = new Rectangle( 3, 4 ); // �\�� status = r0 ; // ���ʂ́H�H�H�H��������s����Ɖ����X�e�[�^�X�o�[�ɕ\�������Ǝv���܂����H
function valueOf_Rectangle(){ return this.width*this.height ; } function Rectangle( w, h ){ this.width = w ; this.height = h ; } Rectangle.prototype.valueOf = valueOf_Rectangle ; var r0 = new Rectangle( 3, 4 ); status = r0-0 ; // ���ʂ� 3*4-0 �� 12-0 ��t�����Ă���̂͂��ꂪ���ł��邱�Ƃ��I�ɂ��邽�߂ł��BtoString ���\�b�h�� valueOf ���\�b�h�̂ǂ��炪�Ăяo����邩�͗p�r�ɂ���ĈႢ�܂��BtoSring ���\�b�h���Ăяo�������Ƃ���
r0+""
, valueOf ���\�b�h���Ăяo�������Ƃ��� r0-0
�Ȃǂ̂悤�ɂ��邩�Ar0.toString()
�Ȃǂ̂悤�ɖ����I�ɋL���������@�͂���܂���B
set,setWidth,setHeight
getWidth,getHeight
equals
getArea
getDigo
max
�A����������Ԃ� min
scale
half
toArray
valueOf
toString
getAveArea
// �R���X�g���N�^�̒�` // // ----- �錾�̌`�� ----- // // new Rectangle() // width = height = 1.0 ; // // new Rectangle( Rectangle r ) // width = r.width, height = r.height ; // // new Rectangle( number n ) : ���܂� // width = height = n ; // // new Rectangle( number w, number h ) // width = w, height = h ; function Rectangle(){ var a = arguments ; // ���� // �����̌��ɂ��A������ switch( a.length ){ // �������O�̂Ƃ� case 0 : default : this.width = this.height = 1.0 ; break ; // �������P�̂Ƃ� case 1 : { // �����̌^�� Rectangle if( a[0].constructor == Rectangle ){ this.width = a[0].width ; this.height = a[0].height ; }else{ this.width = this.height = a[0]; } break ; } // �������Q�̂Ƃ� case 2 : { this.width = a[0]; this.height = a[1]; break ; } } } // �����Ń��\�b�h���`���邱�Ƃɂ��A����Ȃ��o�b�e�B���O�����炷���Ƃ��\�ɂȂ�B // ���̊����ł���Ɋ����`�ł���Ƃ������Ƃɂ����ӁB // ����A�S�Ẵ��\�b�h��`�ɂ͖������i�����e�����j���g�p���Ă���B function setBasicMember__Rectangle__(){ var R = Rectangle ; var RP = R.prototype ; // ���\�b�h�������ꍇ�ɕ֗� /************* �N���X���\�b�h *************/ R.getAveArea = function(){ var s = 0 ; var a = arguments ; for(var i=0;i<a.length;i++) s += a[i].getArea(); return s/a.length ; }; /********** �C���X�^���X���\�b�h **********/ RP.set = function(){ var a = arguments ; var r ; switch( a.length ){ case 0 : default : r = new Rectangle(); break ; case 1 : r = new Rectangle( a[0] ); break ; case 2 : r = new Rectangle( a[0], a[1] ); break ; } // �V�����������A���̃C���X�^���X����l���Q�Ƃ���B // ���̃e�N�j�b�N�̓t�@�C���T�C�Y�����炵�����Ƃ��L�� this.width = r.width ; this.height = r.height ; }; // �ȉ��̂悤�Ƀ��\�b�h�ɕ����̖��O��^���邱�Ƃ��\ RP.setWidth = RP.setW = function( w ){ this.width = ( w ? w : 1.0 ); }; RP.setHeight = RP.setH = function( h ){ this.height = ( h ? h : 1.0 ); }; RP.getWidth = RP.getW = function(){ return this.width ; }; RP.getHeight = RP.getH = function(){ return this.height ; }; // ���̂悤�ȃN���X�̏ꍇ�Aequals ���\�b�h���`���Ă����̂���� RP.equals = function( r ){ return ( ( this.width == r.width ) && ( this.height == r.height ) ); }; RP.getArea = function(){ return this.width * this.height ; }; // �Ίp���̒��������߂鎮�� ��( width^2 + height^2 ) RP.getDigo = function(){ return Math.sqrt( Math.pow( this.width, 2 )+Math.pow( this.height, 2 ) ); }; RP.max = function(){ return Math.max( this.width, this.height ); }; RP.min = function(){ return Math.min( this.width, this.height ); }; RP.scale = function( v ){ this.width *= v ; this.height *= v ; }; // �����\�b�h�����\�b�h���Ŏg�p���邱�Ƃ��ܘ_�A�\ RP.half = function(){ this.scale( 0.5 ); }; RP.toArray = function(){ return new Array( this.width, this.height ); }; RP.valueOf = function(){ return ( this.width == this.height ); }; RP.toString = function(){ return "Rectangle : "+this.width+" �~ "+this.height ; }; } setBasicMember__Rectangle__(); // ���̌Ăяo�����[�U��`�I�u�W�F�N�g�̍쐬��ɂ��Ă� Class Library �̃y�[�W������̂ŁA��������Q�l�ɂ��ĉ������B