online: 7; azi: 16; total: 50471 Webdesign - Tutoriale-js - 30

Obtine si Verifica tipul variabilei in JavaScript

Functia prezentata aici poate fi utilizata pentru a obtine tipul variabilei in JavaScript, si deasemenea, pentru a verifica daca o variabila este de un anumit tip.
Aceasta este functia:

function checkType(obj, type) {
  // www.discant.ro/
  // daca type nu e specificat (e null), returneaza un sir cu tipul obiectului (obj)
  if(type == null) return obj.constructor.toString().split(' ')[1].replace(/\(\)/g,'').toLowerCase();
  else {
    // returneaza true daca e type, altfel, false
    if (obj.constructor.toString().match(new RegExp(type, 'i', 'g'))) return true;
    else return false;
  }
}
Functia are doi parametri: "obj", pt variabila (sau obiect) care va fi verificata, si "type", reprezentand un sir cu numele tipului ce trebuie testat.
Daca tipul lui "obj" este numele specificat la "type", functia returneaza True, altfel, returneaza False.
Daca "type" nu e specificat, functia returneaza un sir cu tipul lui "obj".

Iata cateva exemple.

Obtine tipul variabilei

- Pentru a obtine tipul lui "obj", al doilea argument ("type") nu trebuie adaugat.
<script type="text/javascript"><!--
// functie pt obtinere /verificare tip variabila
function checkType(obj, type) {
  // daca type nu e specificat (e null), returneaza un sir cu tipul obiectului (obj)
  if(type == null) return obj.constructor.toString().split(' ')[1].replace(/\(\)/g,'').toLowerCase();
  else {
    // returneaza true daca e type, altfel, false
    if (obj.constructor.toString().match(new RegExp(type, 'i', 'g'))) return true;
    else return false;
  }
}

var str = 'un text';
var num = 78.5;
var arr = new Array();
var obj = new Object();
var json_array = [7, 8, 'abc'];
var json_object = {'ab': 'xyz', 'arr': [1, 2]};

// afiseaza alert cu tipul fiecarei variabile creata mai sus
alert( checkType(str) );               // string
alert( checkType(num) );               // number
alert( checkType(arr) );               // array
alert( checkType(obj) );               // object
alert( checkType(json_array) );        // array
alert( checkType(json_object) );       // object
--></script>

- Functia returneaza tipul lui 'obj' intr-un sir cu litere mici, astfel, pentru a verifica tipul unei variabile, adaugati la argumentul "type" un sir cu numele tipului ce trebuie verificat.

Obtine tipul variabilei

<script type="text/javascript"><!--
// functie pt obtinere /verificare tip variabila
function checkType(obj, type) {
  // daca type nu e specificat (e null), returneaza un sir cu tipul obiectului (obj)
  if(type == null) return obj.constructor.toString().split(' ')[1].replace(/\(\)/g,'').toLowerCase();
  else {
    // returneaza true daca e type, altfel, false
    if (obj.constructor.toString().match(new RegExp(type, 'i', 'g'))) return true;
    else return false;
  }
}

var str = 'un text';
var num = 78.5;
var arr = new Array();
var obj = new Object();
var json_array = [7, 8, 'abc'];
var json_object = {'ab': 'xyz', 'arr': [1, 2]};

// afiseaza alert cu true sau false
alert( checkType(str, 'string') );               // true
alert( checkType(num, 'number') );               // true
alert( checkType(arr, 'array') );                // true
alert( checkType(obj, 'object') );               // true
alert( checkType(json_array, 'array') );         // true
alert( checkType(json_object, 'array') );        // false
--></script>

Un alt exemplu, daca o variabila, "arr" este Array, afiseaza alert cu primul element.
<script type="text/javascript"><!--
// functie pt obtinere /verificare tip variabila
function checkType(obj, type) {
  // www.discant.ro/
  // daca type nu e specificat (e null), returneaza un sir cu tipul obiectului (obj)
  if(type == null) return obj.constructor.toString().split(' ')[1].replace(/\(\)/g,'').toLowerCase();
  else {
    // returneaza true daca e type, altfel, false
    if (obj.constructor.toString().match(new RegExp(type, 'i', 'g'))) return true;
    else return false;
  }
}

var arr = ['www.discant.ro', 'javascript', 'course'];

// daca "arr" e Array, alert primul element
if(checkType(arr, 'array')) {
  alert(arr[0]);
}
--></script>