Le
type de données de JavaScript est divisé en six types, à savoir null, indéfini, booléen, chaîne, nombre, objet. L'objet est un type de référence , et les cinq autres types de sont des types de base ou des types primitifs. Nous pouvons utiliser la méthode typeof pour imprimer à quel type appartient quelque chose. Pour comparer des variables de différents types, vous devez d'abord convertir le type, ce qui est appelé conversion de type. La conversion de type est également appelée conversion implicite. Les conversions implicites se produisent généralement avec les opérateurs addition, soustraction, multiplication, division, égal et inférieur à, supérieur à, etc. .
typeof '11' //string typeof(11) //number '11' < 4 //false
Parlons d'abord de l'addition, de la soustraction, de la multiplication et de la division :
1.ChaînesAjoutez des nombres, le nombre sera converti en chaîne.
2. Soustrayez les chaînes des nombres et convertissez les chaînes en nombres. Si la chaîne n'est pas un nombre pur, elle sera convertie en NaN. Il en va de même pour les chaînes moins les nombres. La soustraction de deux chaînes les convertit également d'abord en nombres.
3. Il en va de même pour les conversions de multiplication, division, supérieur à, inférieur à et soustraction.
//隐式转换 + - * == / // + 10 + '20' //2010 // - 10 - '20' //-10 10 - 'one' //NaN 10 - '100a' //NaN // * 10*'20' //200 '10'*'20' //200 // / 20/'10' //2 '20'/'10' //2 '20'/'one' //NaN
Jetons un coup d'œil à un autre ensemble de ==.
1. non défini est égal à null
2. Lorsque vous comparez des chaînes et des nombres, convertissez les chaînes en nombres
3 Lorsque vous comparez des nombres en booléens, convertissez des booléens en nombres<. 🎜>
4. Lorsque vous comparez des chaînes et des booléens, convertissez les deux en nombres// == undefined == null; //true '0' == 0; //true,字符串转数字 0 == false; //true,布尔转数字 '0' == false; //true,两者转数字 null == false; //false undefined == false; //false
tableau vide, tant qu'il s'agit d'un objet, est un type référence, donc [] est vrai. Pour convertir un type de référence en nombre ou en chaîne, utilisez valueOf() ou toString(); l'objet lui-même hérite de valuOf() et toString(), et vous pouvez également personnaliser valueOf() et toString( ). En fonction de l'objet, utilisez le valueOf() hérité pour le convertir en chaîne, en nombre ou lui-même, et l'objet doit être converti en chaîne à l'aide de toString. Les objets généraux appellent valueOf() par défaut.
1. Lors de la conversion d'un objet en nombre, appelez valueOf();2 Lors de la conversion d'un objet en chaîne, appelez toString();Premier aperçu. dans l'exemple suivant :0 == []; // true, 0 == [].valueOf(); -> 0 == 0; '0' == []; // false, '0' == [].toString(); -> '0' == ''; 2 == ['2']; // true, 2 == ['2'].valueOf(); -> 2 == '2' -> 2 == 2; '2' == [2]; // true, '2' == [2].toString(); -> '2' =='2'; [] == ![]; //true, [].valueOf() == !Boolean([]) -> 0 == false -> 0 == 0;
var valueOf = function (){ var str = this.toString(); //先调用toString(),转成字符串 //... } 0 == []; // true, 0 == [].valueOf(); -> 0 == '0' -> 0 == 0;
2. S'il n'y a que toString(), appelez toString();
var a = [1]; a.valueOf = function (){ return 1;} a.toString = function (){ return '1';} a + 1; // 2, valueOf()先调用
var a = [1]; a.valueOf = function (){ return 1;} a.toString = function (){ return '1';} a + 1; // 2, 先调用valueOf() //去掉valueOf delete a.valueOf; a + 1; // '11', 调用toString()
var a = [1]; a.valueOf = function (){return ;} a.toString = function (){return 1 ;}; 1 - a; //NaN
var a = {}; a.valueOf(); //Object {} var a = []; a.valueOf(); //[] 自己本身 var a = new Date(); a.valueOf(); //1423812036234 数字 var a = new RegExp(); a.valueOf(); // /(?:)/ 正则对象
[] == [] //false 地址不一样 var a = []; b = a; b == a //true
Number([]); //0 String([]); //'' Boolean([]); //true
3 + '' // 字符串'3' +'3' // 数字3 !!'3' // true
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!