重要的 JavaScript 面试问答
Q1-什么是回调?
回调函数作为其他函数的参数传递,通常在父函数结束时执行。
例如检查这个
Q2-什么是 CORS?
跨域资源共享或 CORS 是一种使用附加 HTTP 标头授予浏览器从不同于网站
来源的服务器访问资源的权限的机制。
跨域请求的一个示例是http://myowndomain.com
使用 AJAX 发出请求的 Web 应用程序http://yourbaddomain.com
。
Q3-评估 0.1 + 0.2 === 0.3?
它的计算结果是 ,false
因为 JavaScript 使用 IEEE 754 数学标准,并且使用 64 位浮点数。这会导致在进行十进制计算时出现精度错误,简而言之,这是因为计算机以 2 为基数,而十进制是以 10 为基数的。
0.1 + 0.2
//OUTPUT
//0.30000000000000004
Q4-词法作用域和动态作用域有什么区别?
词法作用域或静态作用域是指函数定义的位置决定了哪些变量可以访问。另一方面,动态作用域则使用函数调用的位置来确定哪些变量可用。
为了保证源代码的质量,我们通常使用词法作用域。
undefined
Q5-和 有什么区别null
?
undefined
Q5-和 有什么区别null
?
主要区别null
在于 - 显式,而undefined
隐式。假设我们有一个变量,但没有与之关联的值,因此它未定义,但null
被设置为显式表示“无值”的值。undefined
当“无”未知时使用,null
当“无”已知时使用。
Q6-JavaScript 是按值传递还是按引用传递?
Pass by value
总是如此。但是,对于对象来说,值是对对象的引用。
Q7-以下代码的输出是什么?
const a = [0, 1, 2]
const b = [0, 1, 2]
const c = "0,1,2"
console.log(a == c)
console.log(a == b)
TRUE - 自动类型转换
FALSE - 通过引用比较数组
Q8-JavaScript 中需要分号吗?
有时,
分号在 JavaScript 中通常是可选的,但在某些特殊情况下是必需的。
如果您不使用分号,Prettier等工具会在文本编辑器中需要保存的位置为您插入分号,以防止出现错误。
Q9- 以下代码的结果是什么?
typeof typeof 0
其计算结果为“字符串”。typeof 0
计算结果为数字
,typeof "number"
计算结果为字符串
Enough for today
但不适用于 JavaScript;)
如果您有一些令人惊奇的问题要添加,请让我们将它们添加到评论中,这将对每个人都有益。