Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée de l'utilisation de la méthode String.valueOf()

亚连
Libérer: 2018-05-21 11:02:36
original
3750 Les gens l'ont consulté

Je vais maintenant vous proposer une brève discussion sur l'utilisation de la méthode String.valueOf(). Permettez-moi de le partager avec vous maintenant et de le donner comme référence pour tout le monde.

Comme mentionné précédemment

Concernant la conversion de type, les deux méthodes courantes d'objets sont toString() et valueOf(). En fait, ces deux méthodes peuvent également être appliquées aux types d’emballages. La méthode toString() a déjà été introduite. Cet article présentera la méthode valueOf(), qui renvoie la valeur d'origine

[1] undefined et null n'ont pas la méthode valueOf()

undefined.valueOf();//错误
null.valueOf();//错误
Copier après la connexion

【2】Les données booléennes vraies et fausses renvoient la valeur d'origine

true.valueOf();//true
typeof true.valueOf();//'boolean'
false.valueOf();//false
typeof false.valueOf();//'boolean'
Boolean.valueOf();//Boolean() { [native code] }
typeof Boolean.valueOf();//'function'
Copier après la connexion

【3】Renvoi de la valeur d'origine du type chaîne

'1'.valueOf();//'1'
''.valueOf();//''
'abc'.valueOf();//'abc'
String.valueOf();//String() { [native code] }
typeof String.valueOf();//'function'
Copier après la connexion

[4] Les types numériques sont divisés en nombres entiers et en nombres à virgule flottante pour le traitement

Number.valueOf();//Number() { [native code] }
typeof Number.valueOf();//'function'
Copier après la connexion

1 Les entiers suivent directement le . valueOf(), et une erreur sera signalée, provoquant une balise non valide, alors essayez d'ajouter des crochets

0.valueOf();//Uncaught SyntaxError: Invalid or unexpected token
(0).valueOf();//0
+0.valueOf();//Uncaught SyntaxError: Invalid or unexpected token
(+0).valueOf();//0
-0.valueOf();//Uncaught SyntaxError: Invalid or unexpected token
(-0).valueOf();//-0
Copier après la connexion

[Note] La valeur valueOf() de -0 est -0, et la valeur toString() de -0 est '0'

2. Renvoie la valeur originale du nombre à virgule flottante

1.23.valueOf();//1.23
+1.23.valueOf();//1.23
-1.23.valueOf();//-1.23
NaN.valueOf();//NaN
Infinity.valueOf();//Infinity
-Infinity.valueOf();//-Infinity
Copier après la connexion

[Note] Contrairement à toString( ), valueOf() ne peut pas recevoir la base de conversion

【5】Object Le type d'objet et le type d'objet personnalisé renvoient l'objet d'origine

{}.valueOf();//报错,Unexpected token .
({}).valueOf();//Object{}
typeof ({}).valueOf();//'object'
({a:123}).valueOf();//Object{a:123}
Object.valueOf();//Object() { [native code] }
typeof Object.valueOf();//'function'
Copier après la connexion
function Person(){
  this.name = 'test';
}
var person1 = new Person();
person1.valueOf();//Person {name: "test"}
Copier après la connexion

【6】Le type de fonction renvoie la fonction d'origine

function test(){
  alert(1);//test
}
test.valueOf();/*function test(){
          alert(1);//test
         }*/
Function.valueOf();//Function() { [native code] }
Copier après la connexion

【7】Le type de tableau Tableau renvoie le tableau d'origine

[].valueOf();//[]
[1].valueOf();//[1]
[1,2,3,4].valueOf();//[1,2,3,4]
Array.valueOf();//Array() { [native code] }
Copier après la connexion

【8】Contrairement aux autres objets, le type time Date renvoie une valeur numérique. Cette valeur temporelle est-elle

Date.now();//1465115123742
(new Date()).valueOf();//1465115123742
typeof (new Date()).valueOf();//'number'
Date.valueOf();//Date() { [native code] }
Copier après la connexion

[9] Le type RegExp d'expression régulière renvoie l'objet régulier d'origine

/ab/i.valueOf();///ab/i
/mom( and dad( and baby)?)?/gi.valueOf();//mom( and dad( and baby)?)?/gi
RegExp.valueOf();//RegExp() { [native code] }
Copier après la connexion

[10] Erreur Type d'erreur

Error.valueOf();//Error() { [native code] }
RangeError.valueOf();//RangeError() { [native code] }
ReferenceError.valueOf();//ReferenceError() { [native code] }
SyntaxError.valueOf();//SyntaxError() { [native code] }
TypeError.valueOf();//TypeError() { [native code] }
URIError.valueOf();//URIError() { [native code] }
Copier après la connexion

Résumé 

1. La principale différence entre toString() et valueOf() est que toString() renvoie une chaîne, tandis que valueOf() renvoie l'objet d'origine

2 Puisque undefined et null ne sont pas des objets, ils n'ont ni toString. () ni les méthodes valueOf()

3. La méthode toString() de type Number peut accepter la base de conversion et renvoyer une valeur sous forme de chaîne dans différentes bases alors que la méthode valueOf() ne le peut pas ; acceptez la base de conversion

4. La méthode toString() du type time Date ) renvoie une représentation sous forme de chaîne du temps et la méthode valueOf() renvoie le nombre de millisecondes en type numérique à partir de maintenant jusqu'au 1er janvier ; 1970 00:00:00

Ce qui précède est ce que j'ai compilé pour tout le monde Oui, j'espère que cela sera utile à tout le monde à l'avenir.

Articles associés :

Explication détaillée de l'utilisation d'AJAX et de JavaScript

Comment utiliser ajax pour faire fonctionner des formulaires avec JavaScript

Quelle est la différence entre les fichiers .min.js et .js en javascript ?

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!