JavaScript 开发人员的 10 个面试问题

2025-06-07

JavaScript 开发人员的 10 个面试问题

这篇文章针对初级开发人员以及正在寻找或正在接受面试的人提出了 10 个问题。

我的新网站上也有一些关于采访的详细文章,欢迎关注我的推特,我会在隔离期间发布一些很酷很简短的编程代码。
快去读一读吧!学习总是有益的!

https://www.icodeeveryday.com/



让我们开始吧:

1)如何复制或克隆数组?

按照老方法,我们可以使用 slice() 复制数组。

const newaaray= oldarray.slice();
Enter fullscreen mode Exit fullscreen mode

ES6 之后,我们可以使用扩展运算符复制数组

        Const newarray = [...sheeps];
Enter fullscreen mode Exit fullscreen mode

2)为什么我们不能使用=来复制像(new_variable = existing_array)这样的数组?

因为在 JavaScript 中数组是引用值。当我们写newarray = oldarray时,我们并没有创建新的数组,而是创建指向同一内存位置的引用。

3)在 JS 中如何检查一个数字是否是数字类型?

if(typeof variable === number && !isNaN(variable))
Enter fullscreen mode Exit fullscreen mode

请记住,typeofvariable==='number'并不能保证变量是数字,因为typeofNaN也是一个数字。

4)+'12'的输出是什么?

结果是数字类型的数字 12,因为一元运算符尝试将所有字符串、布尔值和空值转换为数字。

更多示例,

+-3 gives -3
+0xFF  gives output 255
+false  gives 0
+Infinity gives Infinity
+infinity gives NaN
+function gives NaN 
Enter fullscreen mode Exit fullscreen mode

它也类似于一元 + 运算符

--5 gives 5
-true gives -1
Enter fullscreen mode Exit fullscreen mode

如果面试官很怪,可以问下面代码的输出:
这返回什么

!!hello == true
Enter fullscreen mode Exit fullscreen mode

答案是真的

5)输出是什么?

   var x=9;
   x= x++;
  console.log(x);
Enter fullscreen mode Exit fullscreen mode

答案是9

6)将一个对象复制到另一个对象有不同的方法吗?

将 mainobj 对象复制到 copyobj 中

let copyobj= Object.assign({}, mainobj);
Enter fullscreen mode Exit fullscreen mode

但是:这也是浅拷贝。
我不知道还有其他方法吗?对于深拷贝或克隆,我使用 stringify。

let newObj = JSON.parse(JSON.stringify(obj));
Enter fullscreen mode Exit fullscreen mode

8)编写代码将数组1格式化为数组2

array1 = [
        {Key:"name", value:"Pravin"},
        {key:"age", value:26},
        {key:"address", value:"Nepal"}
]
Enter fullscreen mode Exit fullscreen mode

并得到如下输出:

array2 = [
        {name:"Pravin"},
        {age:26},
        {address:"Nepal"}
]
Enter fullscreen mode Exit fullscreen mode

有很多方法可以实现这一点。我将使用 map() 来访问这个数组。

let array1 = [
        {key:"name", value:"Pravin"},
        {key:"age", value:26},
        {key:"address", value:"Nepal"}
];

let array2 = array1.map(elem=>{
let temp_obj = {};
temp_obj[elem.key] =elem.value;
return temp_obj;
});

console.log(array2);
Enter fullscreen mode Exit fullscreen mode

9)创建一个函数filtername,其第一个参数为数组,第二个参数为搜索查询。

name =[Tommy, Romanu, Pravin, Omar'];
filtername(name, 'om');
Enter fullscreen mode Exit fullscreen mode

条件:返回一个包含 name 元素且包含 'om' 的数组。
输出结果必须为 ['Tommy', 'Romanu', 'Omar']。

10)如何克隆JSON对象?

我的答案是 stringify。我不知道是否还有其他方法。评论你的做法。

let old_json = old json ;
Let new = JSON.parse(JSON.stringify(old));
Enter fullscreen mode Exit fullscreen mode

感谢阅读。
保重,注意安全。帮助有需要的人。
再见!期待与您相见 :D

文章来源:https://dev.to/voralagas/10-questions-for-javascript-developer-2k9p
PREV
18张包含表单设计技巧的卡片
NEXT
Web 加密 API 实用指南