JavaScript Τύπος Μετατροπής

Number() Μετατροπή σε αριθμό,String() Μετατροπή σε string,Boolean() Μετατροπή σε布尔

Τύποι Δεδομένων του JavaScript

Στην JavaScript υπάρχουν πέντε τύποι δεδομένων που μπορούν να περιέχουν τιμή:

  • Σtring (string)
  • Αριθμοί (number)
  • Μακροοπτική (boolean)
  • Ο象 (object)
  • Συνάρτηση (function)

Υπάρχουν τρεις τύποι ο象:

  • Ο象 (Object)
  • Ημερομηνίες (Date)
  • Πίνακες (Array)

Υπάρχουν δύο τύποι δεδομένων που δεν περιέχουν τιμή:

  • null
  • undefined

Ο περικοπέας typeof

Μπορείτε να χρησιμοποιήσετε typeof Χρήση των οペρατών για να καθορίσουμε τον τύπο δεδομένων μιας μεταβλητής JavaScript.

Example

typeof "Bill"                 // Επιστρέφει "string"
typeof 3.14                   // Επιστρέφει "number"
typeof NaN                    // Επιστρέφει "number"
typeof false // Returns "boolean"
typeof [1,2,3,4] // Returns "object"
typeof {name:'Bill', age:62} // Returns "object"
typeof new Date() // Returns "object"
typeof function() {} // Returns "function"
typeof myCar // Returns "undefined" *
typeof null // Returns "object"

Προσπαθήστε το شخصικά

Please note:

  • The data type of NaN is number
  • The data type of array is object
  • The data type of date is object
  • The data type of null is object
  • The data type of an undefined variable is undefined
  • The data type of an unassigned variable is also undefined

You cannot use typeof to determine whether a JavaScript object is an array (or a date).

The data type of typeof

typeof The operator is not a variable. It belongs to the operator. Operators (such as + - * /) there is no data type.

But,typeof Always willReturns a string(including the type of the operands).

Constructor attribute

constructor The property returns the constructor function of all JavaScript variables.

Example

function String() { [native code] }
function Number() { [native code] }
function Boolean() { [native code] }
function Array() { [native code] }
function Object() { [native code] }
new Date().constructor             // Επιστρέφει "function Date()    { [native code] }"
function () {}.constructor         // Επιστρέφει "function Function(){ [native code] }"

Προσπαθήστε το شخصικά

Μπορείτε να ελέγξετε constructor Επιλογή για να καθορίσετε αν ένα αντικείμενο είναι πίνακας (περιλαμβάνει τη λέξη "Array")

Example

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;

Προσπαθήστε το شخصικά

Ή πιο απλά, μπορείτε να ελέγξετε αν ο αντικείμενος είναι μια συνάρτηση πίνακα:

Example

function isArray(myArray) {
    return myArray.constructor === Array;

Προσπαθήστε το شخصικά

Μπορείτε να ελέγξετε constructor Επιλογή για να καθορίσετε αν ένα αντικείμενο είναι ημερομηνία (περιλαμβάνει τη λέξη "Date")

Example

function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;

Προσπαθήστε το شخصικά

Ή πιο απλά, μπορείτε να ελέγξετε αν ο αντικείμενος είναι μια συνάρτηση ημερομηνίας:

Example

function isDate(myDate) {
    return myDate.constructor === Date;

Προσπαθήστε το شخصικά

JavaScript Τύπος Μετατροπής

Οι μεταβλητές JavaScript μπορούν να μετατραπούν σε νέες μεταβλητές και σε άλλες τύπους δεδομένων:

  • Με τη χρήση της συνάρτησης JavaScript
  • Με τη χρήση του JavaScript του ίδιουΑυτόματαΜετατροπή

Μετατροπή τιμών σε αλφαριθμητικές ακολουθίες

Γενική μέθοδος String() Μπορεί να μετατρέπει αριθμούς σε αλφαριθμητικές ακολουθίες.

Μπορεί να χρησιμοποιηθεί για οποιοδήποτε τύπο αριθμητικών, κειμένων, μεταβλητών ή εκφράσεων:

Example

String(x)         // Επιστρέφει μια αλφαριθμητική ακολουθία από την αριθμητική μεταβλητή x
String(123)       // Επιστρέφει μια αλφαριθμητική ακολουθία από το αριθμητικό κείμενο 123
String(100 + 23)  // Επιστρέφει μια αλφαριθμητική ακολουθία από την αριθμητική τιμή της έκφρασης

Προσπαθήστε το شخصικά

Number methods toString() Αυτό είναι το ίδιο.

Example

x.toString()
(123).toString()
(100 + 23).toString()

Προσπαθήστε το شخصικά

InNumber methodsΣε αυτό το κεφάλαιο, θα μάθετε περισσότερες μεθόδους που μπορούν να χρησιμοποιηθούν για τη μετατροπή αριθμητικών τιμών σε αλφαριθμητικές ακολουθίες:

Method Description
toExponential() Επιστρέφει μια αλφαριθμητική ακολουθία, γράφοντας τον αριθμό με τη γονική ακολουθία exponent.
toFixed() Επιστρέφει μια αλφαριθμητική ακολουθία, γράφοντας τον αριθμό με τη γονική ακολουθία δεcimal places.
toPrecision() Επιστρέφει μια αλφαριθμητική ακολουθία, γράφοντας τον αριθμό με την καθορισμένη διάρκεια.

Convert booleans to strings

Γενική μέθοδος String() Can convert booleans to strings.

String(false)        // Returns "false"
String(true)         // Returns "true"

Boolean methods toString() Αυτό είναι το ίδιο.

false.toString()     // Returns "false"
true.toString()      // Returns "true"

Convert dates to strings

Γενική μέθοδος String() Can convert dates to strings.

String(Date())      

Μέθοδοι ημερομηνίας toString() Αυτό είναι το ίδιο.

Example

Date().toString()   

InΜέθοδοι ημερομηνίαςIn this chapter, you will find more methods that can be used to convert dates to strings:

Method Description
getDate() Get a day counted as a number (1-31)
getDay() Or a week counted as a number (0-6)
getFullYear() Get a four-digit year (yyyy)
getHours() Get hour (0-23)
getMilliseconds() Get milliseconds (0-999)
getMinutes() Get minutes (0-59)
getMonth() Get month (0-11)
getSeconds() Get seconds (0-59)
getTime() Get time (milliseconds since January 1, 1970)

Convert strings to numbers

Γενική μέθοδος Number() Can convert strings to numbers.

Strings containing numbers (such as "3.14") are converted to numbers (such as 3.14).

Empty strings are converted to 0.

Other strings will be converted to NaN(Not a number,not a number)。

Number("3.14")    // Returns 3.14
Number(" ")       // Returns 0
Number("")        // Returns 0
Number("99 88")   // Returns NaN

InNumber methodsIn this chapter, you will find more methods that can be used to convert strings to numbers:

Method Description
parseFloat() Parse the string and return a floating-point number.
parseInt() Parse the string and return an integer.

Unary + operator

Unary + OperatorsCan be used to convert variables to numbers:

Example

var y = "5";      // y is a string
var x = + y;      // x is a number

Προσπαθήστε το شخصικά

If the variable cannot be converted, it will still be a number, but the value will be NaN(Not a number):

Example

var y = "Bill";   // y is a string
var x = + y;      // x είναι αριθμός (NaN)

Προσπαθήστε το شخصικά

Μετατροπή μοναδικών σε αριθμούς

Γενική μέθοδος Number() Μπορείτε επίσης να μετατρέψετε μοναδικά σε αριθμούς.

Number(false)     // Επιστρέφει 0
Number(true)      // Επιστρέφει 1

Μετατροπή ημερομηνίας σε αριθμό

Γενική μέθοδος Number() Χρησιμοποιείται για να μετατρέψει την ημερομηνία σε αριθμό.

d = new Date();
Number(d)          

Μέθοδοι ημερομηνίας getTime() Αυτό είναι το ίδιο.

d = new Date();
d.getTime()        

Αυτόματη μετατροπή τύπου

Αν το JavaScript προσπαθήσει να χειριστεί έναν "λανθασμένο" τύπο δεδομένων, θα προσπαθήσει να μετατρέψει την τιμή σε "σωστό" τύπο.

Οι αποτελέσματα δεν είναι πάντα αυτά που περιμένετε:

5 + null    // Επιστρέφει 5         γιατί το null μετατρέπεται σε 0
"5" + null  // Επιστρέφει "5null"   γιατί το null μετατρέπεται σε "null"
"5" + 2     // Επιστρέφει 52        γιατί το 2 μετατρέπεται σε "2"
"5" - 2     // Επιστρέφει 3         γιατί το "5" μετατρέπεται σε 5
"5" * "2"   // Επιστρέφει 10        γιατί το "5" και το "2" μετατρέπονται σε 5 και 2

Προσπαθήστε το شخصικά

Αυτόματη μετατροπή σε κείμενο

Το JavaScript αυτόματα καλεί τη μετατροπή του μεταβλητού σε κείμενο toString() Συνάρτηση, όταν προσπαθείτε να "εκτυπώσετε" αντικείμενο ή μεταβλητή:

document.getElementById("demo").innerHTML = myVar;
// Αν myVar = {name:"Fjohn"}  // toString μετατρέπεται σε "[object Object]"
// Αν myVar = [1,2,3,4]       // toString μετατρέπεται σε "1,2,3,4"
// Αν myVar = new Date()      // toString μετατρέπεται σε ""

Τα αριθμητικά και μοναδικά επίσης μετατρέπονται, αλλά δεν είναι εμφανές:

// Αν myVar = 123             // toString μετατρέπεται σε "123"
// Αν myVar = true            // toString μετατρέπεται σε "true"
// Αν myVar = false           // toString μετατρέπεται σε "false"

Ταμπίλη μετατροπής τύπων JavaScript

Η παρακάτω τάβλη επισημαίνει τα αποτελέσματα της μετατροπής διαφόρων τιμών JavaScript σε αριθμούς, συμβόλες και λογικές τιμές:

Αρχική τιμή Μετατροπή σε αριθμό Μετατροπή σε字符串 Μετατροπή σε λογική Δοκιμάστε το
false 0 "false" false Δοκιμάστε το
true 1 "true" true Δοκιμάστε το
0 0 "0" false Δοκιμάστε το
1 1 "1" true Δοκιμάστε το
"0" 0 "0" true Δοκιμάστε το
"000" 0 "000" true Δοκιμάστε το
"1" 1 "1" true Δοκιμάστε το
NaN NaN "NaN" false Δοκιμάστε το
Infinity Infinity "Infinity" true Δοκιμάστε το
-Infinity -Infinity "-Infinity" true Δοκιμάστε το
"" 0 "" false Δοκιμάστε το
"20" 20 "20" true Δοκιμάστε το
"δύο" NaN "δύο" true Δοκιμάστε το
[ ] 0 "" true Δοκιμάστε το
[20] 20 "20" true Δοκιμάστε το
[10,20] NaN "10,20" true Δοκιμάστε το
["δύο"] NaN "δύο" true Δοκιμάστε το
["ένα","δύο"] NaN "ένα,δύο" true Δοκιμάστε το
function(){} NaN "function(){}" true Δοκιμάστε το
{ } NaN "[object Object]" true Δοκιμάστε το
null 0 "null" false Δοκιμάστε το
undefined NaN "undefined" false Δοκιμάστε το

Οι τιμές εντός εισαγωγικών δείχνουν τις συμβολικές τιμές.

Κόκκινη τιμήΕνδείκνυε τις τιμές που οι προγραμματιστές μπορεί να μην θέλουν.