likes
comments
collection
share

JS生疏抽象知识点,概念和技术总结

作者站长头像
站长
· 阅读数 41

本文主要收录前端Javascript学习过程中遇到的一些问题及解决方法

(1)关于数组中一个查询判断元素的方法:indexOf

indexOf()方法是JavaScript中的一个数组方法,用于查找指定元素在数组中的索引位置。它接受一个参数,即要查找的元素,然后返回该元素在数组中首次出现的索引位置(可用于查重)。

语法格式如下:

array.indexOf(searchElement[, fromIndex])
  • searchElement:要查找的元素。
  • fromIndex(可选):指定开始查找的索引位置,默认为0。如果为负数,则从数组末尾开始计算。

该方法的返回值有以下几种情况:

  • 如果找到指定元素,则返回该元素在数组中的索引位置(从0开始计数)。
  • 如果未找到指定元素,则返回-1。

示例用法:

var fruits = ['apple', 'banana', 'orange', 'apple', 'grape'];
console.log(fruits.indexOf('apple')); // 输出: 0
console.log(fruits.indexOf('orange')); // 输出: 2
console.log(fruits.indexOf('watermelon')); // 输出: -1
console.log(fruits.indexOf('apple', 1)); // 输出: 3

(2)关于一个可对数组中的全部元素进行操作的函数(遍历全部):map();

数组中的map()方法是一个高阶函数,它用于对数组中的每个元素进行操作,并返回一个新的数组,该数组包含操作后的结果。map()方法接受一个回调函数作为参数,该回调函数会被应用到数组中的每个元素上。

回调函数接受三个参数:当前元素的值当前元素的索引原始数组。你可以在回调函数中对当前元素进行任何操作,并返回操作后的结果。map()方法会遍历数组中的每个元素,并将回调函数的返回值添加到新的数组中。

下面是一个使用map()方法的示例:

var numbers = [1, 2, 3, 4, 5];
var squaredNumbers = numbers.map(function(num) {  return num * num;});
console.log(squaredNumbers); // 输出: [1, 4, 9, 16, 25]

在上面的示例中,我们定义了一个名为numbers的数组。然后,我们使用map()方法对数组中的每个元素进行平方操作,并将结果存储在squaredNumbers数组中。最后,我们打印出squaredNumbers数组的内容,得到了每个元素的平方值。

map()方法非常方便,可以用于对数组中的每个元素进行转换、映射或操作。它提供了一种简洁的方式来处理数组,并生成一个新的数组作为结果。

(3)正确的使用 parseInt

在 JavaScript 中,parseInt() 函数用于将字符串转换为整数。它的语法如下:

1 parseInt(string, radix);

string 参数是要转换的字符串,radix 参数是进制数(可选,默认为 10)。该函数返回解析后的整数。如果无法解析字符串,则返回 NaN。

以下是一些示例:

parseInt("123"); // 返回 123
parseInt("10"2); // 返回 2,将二进制数 10 转换为十进制数
parseInt("0xF"16); // 返回 15,将十六进制数 F 转换为十进制数
parseInt("hello"); // 返回 NaN,无法解析字符串

需要注意的是,如果字符串以 0x 或 0X 开头,将被解析为十六进制数。如果字符串以 0 开头,将被解析为八进制数(在 ECMAScript 5 中已经废弃),如果需要解析为十进制数,可以使用 Number() 函数进行转换。

另外,如果字符串包含非数字字符,parseInt() 函数会忽略它们并返回已经解析的整数部分,例如:

1 parseInt("123hello"); // 返回 123 |

需要注意的是,parseInt() 函数有一些坑点,例如:

  • 如果省略 radix 参数,则不同浏览器可能会有不同的默认值。因此,为了避免兼容性问题,建议始终明确指定 radix 参数。
  • 如果字符串以 0 开头且没有指定 radix 参数,则某些浏览器会将其解析为八进制数。在 ECMAScript 5 中,这种行为已经被废弃,但在某些浏览器中仍然存在,因此建议始终指定 radix 参数。
  • 如果字符串包含浮点数,则 parseInt() 函数会将其截断为整数部分。

综上所述,虽然 parseInt() 函数在某些情况下非常有用,但在使用之前需要注意这些坑点。

(3)关于获取元素的三种方法获取形式的概论

在 JavaScript 中,你可以使用 getElementsByTagName 和 getElementsByClassName 这两个方法来获取多个元素。

  1. getElementsByTagName: getElementsByTagName 方法可以通过标签名称获取文档中所有指定标签的元素,并返回一个类似数组的 HTMLCollection 对象。例如,如果你想获取所有的 <p> 元素,可以这样做:
var paragraphs = document.getElementsByTagName('p');
  1. getElementsByClassName: getElementsByClassName 方法可以通过类名获取文档中所有指定类名的元素,并返回一个类似数组的 HTMLCollection 对象。例如,如果你想获取所有类名为 example 的元素,可以这样做:
var elements = document.getElementsByClassName('example');

这两种方法都返回类似数组的对象,你可以通过索引访问其中的元素,或者使用循环来处理每个元素。需要注意的是,返回的是 HTMLCollection 对象,而不是数组,因此某些数组方法可能不适用。

如果你想要将它们转换为数组,可以使用类似 Array.from 或者 Array.prototype.slice.call 这样的方法。

  1. getElementsByID:

使用getElementByID可以确保获取一个且只有一个元素的方法

转载自:https://juejin.cn/post/7377589884188262410
评论
请登录