Rumah > hujung hadapan web > tutorial js > JavaScript的数据类型有哪些,你能说出几个?

JavaScript的数据类型有哪些,你能说出几个?

yulia
Lepaskan: 2018-09-12 16:38:44
asal
1764 orang telah melayarinya

对于很多JavaScript的初学者来说,数据类型是让人疑惑的地方,有时甚至让人抓狂,现在就来给大家解决这个疑惑。

JavaScript 一共有 八种数据类型。其中包含了 基本数据类型和引用数据类型。  其中基础数据类型有: string 、 number 、 Boolean 、 null、 undefined  。其中 ,引用类型有: array 、 function 、 object一共就这么8种数据类型,每一种类型都会有各自的属性或者方法,从而构建了这个丰富多彩的 JavaScript 世界。 

const strA = 'xxx==='
const numberB = 123
const boolC = false

const nullD = null
const undedfinE = undefined

const arrayF = [1,2,3]
const funcG = function() {
    let a = '123'
    console.log(a)
}
const objH = {
    a: 1,
    getName: function() {
        console.log(this.a)
    }
}
const result = function(x) {
    return typeof x
}
console.log(result(strA)) // string
console.log(result(numberB)) // number
console.log(result(boolC)) // boolean
console.log(result(nullD)) // object
console.log(result(undedfinE)) // undefined
console.log(result(arrayF)) // object
console.log(result(funcG)) // function
console.log(result(objH)) // object
Salin selepas log masuk

区分容易混淆的数据类型

TIPS: 看完上面的八种 数据类型的 读取。是不是发现有三种数据还是让人有点迷糊,分别就是 null、array、Object 。 这三个数据类型的 typeof 都是 object。 那如何再次区分呢?

typeof null         // object
typeof [123,133]    // object
typeof {a:1}        // object
// 这个时候就无法判断了, 如何操作了?
const testArray = [11,22,33,44]
const testNull = null
const testObj = {a:1}
const testObjectFun = function(x) {
    return Object.prototype.toString.call(x)
}
console.log( testObjectFun(testArray))  // [object Array]
console.log( testObjectFun(testNull))   // [object Null]
console.log( testObjectFun(testObj))    // [object Object]
Salin selepas log masuk

目前来看,Object.prototype.toString.call(xxx) 是一个很好判断当前对象为 什么的方法。

判断当前对象为数组的方法

const arr = [1,2,3]
// es6
Array.isArray(arr)
arr instanceof Array
arr.constructor === Array
// es5
Object.prototype.toString.call(arr) === '[object Array]'
Salin selepas log masuk

总结:在 JS 这门语言中,常见的数据类型在上文中已经作出了 展示,而且也展示了一些判断当前数据类型的方法,由于 JS 是一门弱类型语言,所谓弱类型语言其实是指 数据的类型可以根据上下文的变化 发生改变。 

Atas ialah kandungan terperinci JavaScript的数据类型有哪些,你能说出几个?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan