📜  反应备忘单 - Javascript (1)

📅  最后修改于: 2023-12-03 15:07:24.165000             🧑  作者: Mango

反应备忘单 - Javascript

作为一名程序员,我们常常需要处理用户输入,或者服务器返回的数据,然后根据不同的情况作出不同的反应,这就需要使用Javascript进行处理。在这里,我将分享一些Javascript的常见操作和技巧,以便在需要时能够快速反应。

判断数据类型

在Javascript中,我们可以使用typeof关键字来快速判断一个值的数据类型。例如:

typeof "hello world"; // "string"
typeof 42; // "number"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object"
typeof []; // "object"
typeof {}; // "object"

需要注意的是,typeof null返回的是"object",这是因为在Javascript早期版本中null是以全0二进制位表示的,被误判为一个对象。这个问题至今还没有被修复,因为它可能会破坏现有的代码。

判断数组是否包含某一元素

在Javascript中,有多种方法可以判断一个数组是否包含某一元素。最常用的方法是使用Array.indexOf()方法,如下所示:

const array = ["apple", "banana", "orange"];
array.indexOf("banana"); // 1

如果数组中不包含该元素,则返回-1。

另一种方法是使用Array.includes()方法,与indexOf()方法类似,但更加直观:

const array = ["apple", "banana", "orange"];
array.includes("banana"); // true
判断对象是否包含某一属性

在Javascript中,我们可以使用in运算符或者Object.hasOwnProperty()方法来判断一个对象是否包含某一属性。使用in运算符时,需要判断该属性是否存在于对象的原型链中:

const person = { name: "John", age: 30 };
"name" in person; // true
"city" in person; // false

使用Object.hasOwnProperty()方法时,只要判断该属性是否直接存在于对象中,不需要判断原型链:

const person = { name: "John", age: 30 };
person.hasOwnProperty("name"); // true
person.hasOwnProperty("city"); // false
快速复制对象

在Javascript中,我们可以使用Object.assign()方法快速复制对象,这个方法可以将多个对象合并成一个对象:

const obj1 = { name: "John" };
const obj2 = { age: 30 };
const obj3 = { city: "New York" };
const newObj = Object.assign({}, obj1, obj2, obj3);
// { name: "John", age: 30, city: "New York" }
字符串替换

在Javascript中,我们可以使用String.replace()方法将一个字符串中的某一个子串替换为另一个字符串:

const str = "I have a cat";
const newStr = str.replace("cat", "dog");
console.log(newStr); // "I have a dog"

如果要替换所有匹配的子串,需要使用正则表达式:

const str = "I have a cat, the cat is black";
const newStr = str.replace(/cat/g, "dog");
console.log(newStr); // "I have a dog, the dog is black"
数字格式化

在Javascript中,我们可以使用Intl.NumberFormat()方法将数字格式化为特定的显示格式,例如货币金额、百分比等:

const number = 123456.789;
const formatter = new Intl.NumberFormat("en-US", {
  style: "currency",
  currency: "USD",
  minimumFractionDigits: 2,
});
const formattedNumber = formatter.format(number);
console.log(formattedNumber); // "$123,456.79"
总结

以上是一些比较常用的Javascript操作和技巧,在实际编码中能够帮助我们快速反应。当然,在实际场景中,有时候我们可能会有更加巧妙的实现方法,需要结合自己的业务场景来灵活运用。