Функция Object.getType

Возвращает тип заданного экземпляра объекта.

var typeVar = Object.getType(instance);

Термин

Определение

instance

Объект, для которого возвращается тип.

Экземпляр типа, представляющий объект времени выполнения instance.

Тип исключения

Атрибут Condition

Функция Error.argumentUndefined

(Отладка) Объект instance не определен.

Функция Error.argumentNull

(Отладка) Объект instance имеет значение null.

Функция getType используется, чтобы получить новый экземпляр типа, представляющий объект типа времени выполнения.

В приведенном ниже примере показано, как использовать функцию getType, чтобы создать новый экземпляр типа, представляющий объект типа времени выполнения. Затем на основании типа объекта отображаются сведения.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Samples</title>
</head>
<body>
    <form id="form1" runat="server">
       <asp:ScriptManager runat="server" ID="ScriptManager1">
       </asp:ScriptManager>
       <script type="text/javascript">

            Type.registerNamespace('Samples');

            // Define and register a Samples.Rectangle class.
            Samples.Rectangle = function(width, height)
            {   
                this._width = width;
                this._height = height;
            }

            Samples.Rectangle.prototype.getWidth = function() {
               return (this._width === undefined) ? null : this._width;
            }

            Samples.Rectangle.prototype.getHeight = function() {
               return (this._width === undefined) ? null : this._height;
            }

            Samples.Rectangle.registerClass('Samples.Rectangle');


            // Define and register a Samples.Square class.
            Samples.Square = function(length)
            {
                this._length = length;
            }

            Samples.Square.prototype.getLength = function() {
               return (this._length === undefined) ? null : this._length;
            }

            Samples.Square.prototype.setLength = function(length) {
                this._length = length;
            }

            Samples.Square.registerClass('Samples.Square');


            // Create instances of Square and Rectangle and discover their types.    
            Samples.testObjectReflection = function() 
            {
                var width = 200;
                var height = 100;
                var a = new Samples.Rectangle(width, height);

                var length = 50;
                var b = new Samples.Square(length);

                var name = Object.getTypeName(a);
                // Output "The type name of object a is: Samples.Rectangle"
	            alert("The type name of object a is: " + name);
        	    
	            var isSquare = Samples.Rectangle.isInstanceOfType(b)
	            // Output "Object b is an instance of type Square: false"
                alert("Object b is an instance of type Square: " + isSquare);
        	    
	            var c = Object.getType(b);
	            
	            name = Object.getTypeName(c);
	             // Output "The type name of object c is: Function"
	            alert("The type name of object c is: " + name);
        	    	    
	            var isSquare = Samples.Square.isInstanceOfType(c);
	            if (isSquare)
	            {
	               var newLength = a.getWidth();
	               c.setLength(newLength);
	               alert("Object c is a Square with a length of: " + c.getLength());
	            }
            }

            // Run the sample.
            Samples.testObjectReflection();

        </script>

    </form>
</body>
</html>




Показ: