Maison interface Web js tutoriel Que sont les types de données et les variables JavaScript ? Comment convertir entre eux ?

Que sont les types de données et les variables JavaScript ? Comment convertir entre eux ?

Jul 29, 2017 pm 03:11 PM
javascript js 变量

Type de données

définit les types de données suivants en JavaScript :

Nombre

JavaScript ne fait pas de distinction entre les nombres entiers et les nombres à virgule flottante et est représenté par Nombre. Les types de nombres suivants sont légaux :


123; // 整数123
0.456; // 浮点数0.456
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
-99; // 负数
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Copier après la connexion

Infini ; // Infini signifie infini. Lorsque la valeur dépasse la valeur maximale pouvant être représentée par le nombre JavaScript, elle est exprimée comme Infini
Puisque les ordinateurs utilisent le binaire, il est parfois plus pratique d'utiliser l'hexadécimal pour représenter les entiers. représenté par le préfixe 0x et 0-9, a-f, par exemple : 0xff00, 0xa5b4c3d2, etc. Ce sont exactement les mêmes que les valeurs exprimées en décimal.
Le nombre peut effectuer directement quatre opérations arithmétiques. Les règles sont cohérentes avec les mathématiques :


1 + 2; // 3
(1 + 2) * 5 / 2; // 7.5
2 / 0; // Infinity
0 / 0; // NaN
10 % 3; // 1
10.5 % 3; // 1.5
Copier après la connexion

Notez que % est l'opération de reste.

Chaîne

Une chaîne est tout texte entouré de guillemets simples 'ou de guillemets doubles", tel que 'abc', "xyz "Et ainsi de suite. Veuillez noter que '' ou "" lui-même n'est qu'un moyen d'expression et ne fait pas partie de la chaîne. Par conséquent, la chaîne 'abc' n'a que 3 caractères a, b, c

< 🎜. >Valeur booléenne

L'expression de la valeur booléenne est exactement la même que celle de l'algèbre booléenne. Une valeur booléenne n'a que deux valeurs : vraie et fausse, soit vraie soit fausse. true ou false directement. false représente une valeur booléenne, qui peut également être calculée via des opérations booléennes :



true; // 这是一个true值
false; // 这是一个false值
2 > 1; // 这是一个true值
2 >= 3; // 这是一个false值
Copier après la connexion
&& est une opération ET seulement si. tout est vrai, le résultat de l'opération && est vrai :



true && true; // 这个&&语句计算结果为true
true && false; // 这个&&语句计算结果为false
false && true && false; // 这个&&语句计算结果为false
Copier après la connexion
|| L'opération est une opération OU, tant que l'une d'elles est vraie , le résultat de l'opération || est vrai :



false || false; // 这个||语句计算结果为false
true || false; // 这个||语句计算结果为true
false || true || false; // 这个||语句计算结果为true
Copier après la connexion
 ! faux et faux en vrai :



! true; // 结果为false
! false; // 结果为true
! (2 > 5); // 结果为true
Copier après la connexion
Les valeurs booléennes sont souvent utilisées dans les jugements conditionnels, tels que :



var age = 15;
if (age >= 18) {
 alert(&#39;adult&#39;);
} else {
 alert(&#39;teenager&#39;);
}
Copier après la connexion

Opérateur de comparaison

Lorsque nous comparons Nombre, nous pouvons obtenir une valeur booléenne grâce à l'opérateur de comparaison :



2 > 5; // false
5 >= 2; // true
7 == 7; // true
Copier après la connexion
En fait, JavaScript permet de comparer tout type de données :



false == 0; // true
false === 0; // false
Copier après la connexion
Payer spécial attention à l'opérateur d'égalité == lors de la conception des opérateurs de comparaison :


Le premier est la comparaison ==, qui convertira automatiquement le type de données avant de comparer. Plusieurs fois, vous obtiendrez des résultats très étranges. ;

Le deuxième est === À titre de comparaison, il ne convertira pas automatiquement le type de données. Si les types de données sont incohérents, il renverra false. S'ils sont cohérents, comparez à nouveau. faille dans JavaScript, n'utilisez pas == comparaison. Utilisez toujours === comparaison. Une autre exception est NaN, un nombre spécial qui n'est pas égal à toutes les autres valeurs, y compris lui-même :



.


La seule façon de déterminer NaN est d'utiliser la fonction isNaN() :

NaN === NaN; // false
Copier après la connexion



Enfin, faites attention aux comparaison d'égalité des nombres à virgule flottante :

isNaN(NaN); // true
Copier après la connexion



Ce n'est pas un défaut de conception dans JavaScript. Les nombres à virgule flottante produiront des erreurs lors des opérations, car les ordinateurs ne peuvent pas être précis. représentent des décimales en boucle infinie. Pour comparer si deux nombres à virgule flottante sont égaux, ils ne peuvent calculer que la valeur absolue de leur différence, pour voir si elle est inférieure à un certain seuil :

1 / 3 === (1 - 2 / 3); // false
Copier après la connexion


.


Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true
Copier après la connexion
null et indéfini

null représente un La valeur de "vide" est différente de 0 et la chaîne vide '' 0 est un. valeur numérique, '' représente une chaîne de longueur 0 et null représente "vide".
Dans d'autres langages, il existe également des représentations de null similaires à JavaScript. Par exemple, Java utilise également null, Swift utilise nil et Python utilise None. Cependant, en JavaScript, il existe également undefined, qui est similaire à null, qui signifie « indéfini ».
Les concepteurs de JavaScript espèrent utiliser null pour représenter une valeur vide, et undefined pour représenter une valeur indéfinie. Les faits ont prouvé que cela ne sert à rien et la différence entre les deux n’a que peu d’importance. Dans la plupart des cas, nous devrions utiliser null. undefined n'est utile que pour déterminer si les paramètres de fonction sont transmis.
Tableau
Un tableau est une collection organisée dans l'ordre, et chaque valeur de la collection est appelée un élément. Les tableaux JavaScript peuvent contenir n'importe quel type de données. Par exemple :




Le tableau ci-dessus contient 6 éléments. Les tableaux sont représentés par [] et les éléments sont séparés par ,.

Une autre façon de créer un tableau consiste à utiliser la fonction Array() :
[1, 2, 3.14, &#39;Hello&#39;, null, true];
Copier après la connexion




Cependant, pour des raisons de lisibilité du code, il est fortement recommandé d'utiliser [] directement.

Les éléments d'un tableau sont accessibles par index. Notez que les index commencent à 0 :
new Array(1, 2, 3); // 创建了数组[1, 2, 3]
Copier après la connexion




Object
var arr = [1, 2, 3.14, &#39;Hello&#39;, null, true];
arr[0]; // 返回索引为0的元素,即1
arr[5]; // 返回索引为5的元素,即true
arr[6]; // 索引超出了范围,返回undefined
Copier après la connexion


JavaScript Un objet est un objet non ordonné ensemble de clés et de valeurs, par exemple :


var person = {
 name: &#39;Bob&#39;,
 age: 20,
 tags: [&#39;js&#39;, &#39;web&#39;, &#39;mobile&#39;],
 city: &#39;Beijing&#39;,
 hasCar: true,
 zipcode: null
};
Copier après la connexion

JavaScript对象的键都是字符串类型,值可以是任意数据类型。上述person对象一共定义了6个键值对,其中每个键又称为对象的属性,例如,person的name属性为'Bob',zipcode属性为null。
要获取一个对象的属性,我们用对象变量.属性名的方式:


person.name; // &#39;Bob&#39;
person.zipcode; // null
Copier après la connexion

变量

变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
变量在JavaScript中就是用一个变量名表示,变量名是大小写英文、数字、$和_的组合,且不能用数字开头。变量名也不能是JavaScript的关键字,如if、while等。申明一个变量用var语句,比如:


var a; // 申明了变量a,此时a的值为undefined
var $b = 1; // 申明了变量$b,同时给$b赋值,此时$b的值为1
var s_007 = &#39;007&#39;; // s_007是一个字符串
var Answer = true; // Answer是一个布尔值true
var t = null; // t的值是null
Copier après la connexion

变量名也可以用中文,但是,请不要给自己找麻烦。
在JavaScript中,使用等号=对变量进行赋值。可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,但是要注意只能用var申明一次,例如:


var a = 123; // a的值是整数123
a = &#39;ABC&#39;; // a变为字符串
Copier après la connexion

这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,赋值语句如下:


int a = 123; // a是整数类型变量,类型用int申明
a = "ABC"; // 错误:不能把字符串赋给整型变量
Copier après la connexion

和静态语言相比,动态语言更灵活,就是这个原因。
请不要把赋值语句的等号等同于数学的等号。比如下面的代码:


var x = 10;
x = x + 2;
Copier après la connexion

如果从数学上理解x = x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果12,再赋给变量x。由于x之前的值是10,重新赋值后,x的值变成12。

strict模式

JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量:


i = 10; // i现在是全局变量
Copier après la connexion

在同一个页面的不同的JavaScript文件中,如果都不用var申明,恰好都使用了变量i,将造成变量i互相影响,产生难以调试的错误结果。

使用var申明的变量则不是全局变量,它的范围被限制在该变量被申明的函数体内(函数的概念将稍后讲解),同名变量在不同的函数体内互不冲突。

为了修补JavaScript这一严重设计缺陷,ECMA在后续规范中推出了strict模式,在strict模式下运行的JavaScript代码,强制通过var申明变量,未使用var申明变量就使用的,将导致运行错误。

启用strict模式的方法是在JavaScript代码的第一行写上:


&#39;use strict&#39;;
Copier après la connexion

这是一个字符串,不支持strict模式的浏览器会把它当做一个字符串语句执行,支持strict模式的浏览器将开启strict模式运行JavaScript。

来测试一下你窗体顶端


&#39;use strict&#39;;
// 如果浏览器支持strict模式,
// 下面的代码将报ReferenceError错误:
Copier après la connexion

数据类型如何转换:

1. Convertir en nombre xxx*1.0
Convertir en chaîne xxx+""
2. Extrayez un autre type de valeur d'une valeur et terminez la conversion.
. Extrayez l'entier de la chaîne : parseInt();
Exemple : le résultat de parseInt("123zhang") est 123
. Extrayez le nombre à virgule flottante de la chaîne : parseFloat(); >Exemple : Le résultat de parseFloat("0.55zhang") est 0,55
Exécutez un morceau de code javascript représenté par une chaîne : eval();
Exemple : le résultat de zhang=eval("1+1). ") est zhang=2
. Convertir en chaîne : toString();
Exemple : le résultat de zhang=eval("1+1") est zhang=2
3. Convertissez la valeur entière de d'un type à un autre Trois types de données (appelés conversion de type de données de base),
Trois méthodes de conversion de type de données de base :
Convertir en type de caractère : String(); 678"
. Convertir en type numérique : Number(); Exemple : Le résultat de Number("678") est 678
. Convertir en type booléen : Boolean(); Exemple : Le résultat de Boolean("aaa ") est vrai

Lors de l'utilisation de ces méthodes, si nécessaire, essayez de juger et de gérer les exceptions dans l'exécution des paramètres et des méthodes.
Comme on le voit dans le document de référence, voici un résumé de l'efficacité d'exécution :
Sous IE, la première méthode est la plus rapide, la seconde est la deuxième et la troisième est la pire, mais la différence n'est que 100 000 fois, la différence n'est que de dizaines de centaines de millisecondes.
Sous FF, les premier et deuxième types sont fondamentalement équivalents, et le troisième type est le plus lent.
La différence de vitesse est fondamentalement négligeable. Parce que la différence est très petite.
Cependant, de par la simplicité du code, la première méthode est évidemment simple à écrire et facile à lire,
et il n'y aura aucun problème si la deuxième méthode signale une erreur car un objet n'a pas de méthode toString . En plus, il a toujours été le plus rapide.
Donc, j'ai l'habitude d'utiliser la première méthode pour terminer la conversion du type de données
Cependant, par exemple, si vous avez besoin de "123456abcd" pour extraire les nombres qu'il contient, alors vous devez naturellement utiliser des fonctions telles que parsetInt et parseFloat .
Mais veuillez noter que parfois le résultat de la conversion est NaN, etc., vous devez donc juger.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Apr 03, 2024 am 11:55 AM

La technologie de détection et de reconnaissance des visages est déjà une technologie relativement mature et largement utilisée. Actuellement, le langage d'application Internet le plus utilisé est JS. La mise en œuvre de la détection et de la reconnaissance faciale sur le front-end Web présente des avantages et des inconvénients par rapport à la reconnaissance faciale back-end. Les avantages incluent la réduction de l'interaction réseau et de la reconnaissance en temps réel, ce qui réduit considérablement le temps d'attente des utilisateurs et améliore l'expérience utilisateur. Les inconvénients sont les suivants : il est limité par la taille du modèle et la précision est également limitée ; Comment utiliser js pour implémenter la détection de visage sur le web ? Afin de mettre en œuvre la reconnaissance faciale sur le Web, vous devez être familier avec les langages et technologies de programmation associés, tels que JavaScript, HTML, CSS, WebRTC, etc. Dans le même temps, vous devez également maîtriser les technologies pertinentes de vision par ordinateur et d’intelligence artificielle. Il convient de noter qu'en raison de la conception du côté Web

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Que sont les variables d'instance en Java Que sont les variables d'instance en Java Feb 19, 2024 pm 07:55 PM

Les variables d'instance en Java font référence aux variables définies dans la classe, et non dans la méthode ou le constructeur. Les variables d'instance sont également appelées variables membres. Chaque instance d'une classe possède sa propre copie de la variable d'instance. Les variables d'instance sont initialisées lors de la création de l'objet et leur état est enregistré et conservé tout au long de la durée de vie de l'objet. Les définitions de variables d'instance sont généralement placées en haut de la classe et peuvent être déclarées avec n'importe quel modificateur d'accès, qui peut être public, privé, protégé ou le modificateur d'accès par défaut. Cela dépend de ce que nous voulons que ce soit

Conseils de développement PHP et JS : maîtrisez la méthode de création de graphiques en bougies boursières Conseils de développement PHP et JS : maîtrisez la méthode de création de graphiques en bougies boursières Dec 18, 2023 pm 03:39 PM

Avec le développement rapide de la finance sur Internet, l'investissement en actions est devenu le choix de plus en plus de personnes. Dans le trading d'actions, les graphiques en bougies sont une méthode d'analyse technique couramment utilisée. Ils peuvent montrer l'évolution des cours des actions et aider les investisseurs à prendre des décisions plus précises. Cet article présentera les compétences de développement de PHP et JS, amènera les lecteurs à comprendre comment dessiner des graphiques en bougies boursières et fournira des exemples de code spécifiques. 1. Comprendre les graphiques en bougies boursières Avant de présenter comment dessiner des graphiques en bougies boursières, nous devons d'abord comprendre ce qu'est un graphique en bougies. Les graphiques en chandeliers ont été développés par les Japonais

Carte mentale de la syntaxe Python : compréhension approfondie de la structure du code Carte mentale de la syntaxe Python : compréhension approfondie de la structure du code Feb 21, 2024 am 09:00 AM

Python est largement utilisé dans un large éventail de domaines grâce à sa syntaxe simple et facile à lire. Il est crucial de maîtriser la structure de base de la syntaxe Python, à la fois pour améliorer l’efficacité de la programmation et pour acquérir une compréhension approfondie du fonctionnement du code. À cette fin, cet article fournit une carte mentale complète détaillant divers aspects de la syntaxe Python. Variables et types de données Les variables sont des conteneurs utilisés pour stocker des données en Python. La carte mentale affiche les types de données Python courants, notamment les entiers, les nombres à virgule flottante, les chaînes, les valeurs booléennes et les listes. Chaque type de données a ses propres caractéristiques et méthodes de fonctionnement. Opérateurs Les opérateurs sont utilisés pour effectuer diverses opérations sur les types de données. La carte mentale couvre les différents types d'opérateurs en Python, tels que les opérateurs arithmétiques, ratio

Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Mar 09, 2024 pm 05:36 PM

L'utilisation d'Ajax pour obtenir des variables à partir de méthodes PHP est un scénario courant dans le développement Web. Grâce à Ajax, la page peut être obtenue dynamiquement sans actualiser les données. Dans cet article, nous présenterons comment utiliser Ajax pour obtenir des variables à partir de méthodes PHP et fournirons des exemples de code spécifiques. Tout d’abord, nous devons écrire un fichier PHP pour gérer la requête Ajax et renvoyer les variables requises. Voici un exemple de code pour un simple fichier PHP getData.php :

La relation entre js et vue La relation entre js et vue Mar 11, 2024 pm 05:21 PM

La relation entre js et vue : 1. JS comme pierre angulaire du développement Web ; 2. L'essor de Vue.js en tant que framework front-end ; 3. La relation complémentaire entre JS et Vue ; Vue.

Compréhension approfondie de const en langage C Compréhension approfondie de const en langage C Feb 18, 2024 pm 12:56 PM

Explication détaillée et exemples de code de const en C En langage C, le mot-clé const est utilisé pour définir des constantes, ce qui signifie que la valeur de la variable ne peut pas être modifiée lors de l'exécution du programme. Le mot-clé const peut être utilisé pour modifier les variables, les paramètres de fonction et les valeurs de retour de fonction. Cet article fournira une analyse détaillée de l'utilisation du mot-clé const en langage C et fournira des exemples de code spécifiques. variable const modifiée Lorsque const est utilisé pour modifier une variable, cela signifie que la variable est une variable en lecture seule et ne peut pas être modifiée une fois qu'une valeur lui a été attribuée. Par exemple : constante

See all articles