返回

万丈高楼平地起,夯实JS基础:面试不再难(1)

前端

万丈高楼平地起,想要在技术领域大展宏图,扎实的基础知识是不可或缺的。对于JavaScript初学者来说,掌握核心知识点尤为重要。本文将带领大家开启JavaScript基础知识巩固之旅的第一步,从数据类型判断方法入手,让面试不再难。

JavaScript数据类型

JavaScript中,数据类型主要分为两类:基本数据类型和引用数据类型。基本数据类型包括:

  • 字符串(String):由一个或多个字符组成的文本数据。
  • 数字(Number):可以是整数或小数。
  • 布尔值(Boolean):只有两个值:true或false。
  • undefined:表示变量尚未被赋值。
  • null:表示变量的值为空。

引用数据类型包括:

  • 数组(Array):可以存储多个元素,元素可以是任何数据类型。
  • 对象(Object):由键值对组成的集合。
  • 函数(Function):可以执行特定任务的代码块。

数据类型判断方法

在JavaScript中,有三种常用的数据类型判断方法:

  • typeof:返回一个字符串,表示变量的数据类型。
  • instanceof:返回一个布尔值,表示变量是否属于某个类。
  • Object.prototype.toString.call():返回一个字符串,表示变量的类型。

typeof操作符

typeof操作符用于判断变量的数据类型。其语法为:

typeof variable;

例如:

console.log(typeof "Hello"); // 输出:string
console.log(typeof 123); // 输出:number
console.log(typeof true); // 输出:boolean
console.log(typeof undefined); // 输出:undefined
console.log(typeof null); // 输出:object

需要注意的是,typeof操作符会将null判断为object类型,这是因为在JavaScript中,null是一个特殊的对象。

instanceof操作符

instanceof操作符用于判断变量是否属于某个类。其语法为:

variable instanceof Class;

例如:

const arr = [1, 2, 3];
console.log(arr instanceof Array); // 输出:true
const obj = { name: "John", age: 30 };
console.log(obj instanceof Object); // 输出:true
function Person(name, age) {
  this.name = name;
  this.age = age;
}
const person = new Person("John", 30);
console.log(person instanceof Person); // 输出:true

Object.prototype.toString.call()方法

Object.prototype.toString.call()方法用于返回变量的类型。其语法为:

Object.prototype.toString.call(variable);

例如:

console.log(Object.prototype.toString.call("Hello")); // 输出:[object String]
console.log(Object.prototype.toString.call(123)); // 输出:[object Number]
console.log(Object.prototype.toString.call(true)); // 输出:[object Boolean]
console.log(Object.prototype.toString.call(undefined)); // 输出:[object Undefined]
console.log(Object.prototype.toString.call(null)); // 输出:[object Null]
console.log(Object.prototype.toString.call([1, 2, 3])); // 输出:[object Array]
console.log(Object.prototype.toString.call({ name: "John", age: 30 })); // 输出:[object Object]
function Person(name, age) {
  this.name = name;
  this.age = age;
}
const person = new Person("John", 30);
console.log(Object.prototype.toString.call(person)); // 输出:[object Person]

巩固练习

  1. 写一个函数,判断一个变量是否为字符串。
  2. 写一个函数,判断一个变量是否为数组。
  3. 写一个函数,判断一个变量是否为函数。

参考答案

function isString(variable) {
return typeof variable === "string";
}


2. ```javascript
function isArray(variable) {
  return Array.isArray(variable);
}

function isFunction(variable) {
return typeof variable === "function";
}


**总结** 

本文介绍了JavaScript数据类型以及三种常用的数据类型判断方法。掌握这些基础知识,有助于提高代码的可读性和可维护性,在面试中也能更加自信。在接下来的文章中,我们将继续巩固JavaScript基础知识,助力大家在技术领域更进一步。