前端笔试2

1.下面哪一个是检验对象是否有一个以自身定义的属性?

  • foo.hasOwnProperty("bar")
  • bar in foo 
  • foo["bar"] !== undefined
  • foo.bar != null

解析:

`bar in foo` 检查 `foo` 对象是否包含名为 `bar` 的属性,但是这个属性可以是从原型链继承来的,因此不是检验对象是否有一个以自身定义的属性的正确方法。

`foo["bar"] !== undefined` 和 `foo.bar != null` 都可以检查对象是否有一个名为 `bar` 的属性,但是它们不能区分该属性是否是从原型链继承来的。因此,它们也不是检验对象是否有一个以自身定义的属性的正确方法。

2.如何返回下面的数组的第一个值?
var myArr = [1, 2, 3, 4, 5];

var myVal =

  • myArr.unshift();                       将指定元素插入数组开头,并返回新数组长度
  • myArr[1];                                 返回第二个元素
  • myArr.shift():                            删除并返回第一个元素
  • myArr.pop();                             删除并返回最后一个元素

扩展知识(数组的操作):

 1. `concat()`:连接两个或多个数组,并返回结果。
2. `copyWithin()`:从数组的指定位置拷贝元素到数组的另一个指定位置中。
3. `entries()`:返回数组的可迭代对象。
4. `every()`:检测数值元素的每个元素是否都符合条件。
5. `fill()`:使用一个固定值来填充数组。
6. `filter()`:检测数值元素,并返回符合条件所有元素的数组。
7. `find()`:返回符合条件的第一个元素的值。
8. `findIndex()`:返回符合条件的第一个元素的索引。
9. `forEach()`:调用数组中的每个元素,并将元素传递给回调函数。
10. `includes()`:判断数组是否包含某个指定的值,如果是返回 true,否则返回 false。
11. `indexOf()`:搜索数组中的元素,并返回它所在的位置。
12. `join()`:把数组中所有元素放入一个字符串。
13. `keys()`:返回数组可迭代对象的新 Array Iterator 对象。
14. `lastIndexOf()`:从后向前搜索数组中的元素,并返回它所在的位置。
15. `map()`:通过指定函数处理数组中的每个元素,并返回处理后的新数组。
16. `pop()`:删除并返回数组的最后一个元素。
17. `push()`:向数组末尾添加一个或多个元素,并返回新的长度。
18. `reduce()`:将数组元素计算为一个值(从左到右)。
19. `reduceRight()`:将数组元素计算为一个值(从右到左)。
20. `reverse()`:颠倒数组中元素的顺序。
21. `shift()`:删除并返回数组的第一个元素。
22. `slice()`:选取数组中的一部分,并返回一个新数组。
23. `some()`:检测数值元素是否满足指定条件,如果有任意一个满足则返回 true,否则返回 false。
24. `sort()`:对数组进行排序(按字母顺序升序)。
25. `splice()`:删除或替换指定位置的元素,并可添加新元素,同时返回被删除/替换的项目¹.
26. `toLocaleString()`:把数组转换为本地字符串,并返回结果字符串.
27. `toString()`:把数组转换为字符串,并返回结果字符串.
28. `unshift()`:向数组开头添加一个或多个元素,并返回新长度.

 3、True+True的结果是?

  • true
  • undefined
  • 2

解析:当使用 `+` 运算符将两个布尔值相加时,它们会被转换为数字。在 JavaScript 中,`true` 转换为 `1`,而 `false` 转换为 `0` 。因此,`True+True` 的结果是 `1+1`,即 `2`。

 4、文本域的type设为___,可以创建单选按钮

  • radio
  • checkbox
  • text

解析:文本域是一种多行文本输入控件,它使用 `