JavaScript 面试问题和答案(2023)-高级水平

JavaScript 面试问题和答案(2023)-高级水平

在本文中,您将学习在面试中经常被问到的JavaScript面试问题和答案-高级水平。在继续学习JavaScript面试问题和答案-高级水平之前,我们先学习完整的JavaScript教程。 。

JavaScript 面试问题和答案(2023)-高级水平

1. JavaScript中的“严格”模式是什么,如何启用它

严格模式是ECMAScript 5中的一个新特性,它允许您将程序或函数放在“严格”操作环境中。这个严格的上下文阻止某些操作,并抛出更多的异常。语句“use strict”指示浏览器使用严格模式,这是一组减少和更安全的JavaScript功能。

2. 如何获取复选框的状态

DOM输入复选框属性用于设置或返回复选框字段的选中状态。此属性用于反映HTML的Checked属性。

document.getElementById("GFG").checked;

如果复选框被选中,则返回True。

3. 如何解释JavaScript中的闭包以及何时使用它

闭包是在子函数运行时创建的,即使父函数已经执行,子函数仍然保持父作用域的环境。闭包是一个与函数相关的局部声明变量。闭包在使用它们时可以更好地控制代码。

// Explanation of closure  
function foo() { 
    let b = 1; 
    function inner() { 
        return b; 
    } 
    return inner; 
} 
let get_func_inner = foo(); 
  
console.log(get_func_inner()); 
console.log(get_func_inner()); 
console.log(get_func_inner());

4. call()和apply()方法之间的区别是什么

两种方法在不同的情况下使用

  • call()方法: 它调用方法,以拥有者对象为参数。关键字this指的是函数的“拥有者”或它所属的对象。我们可以调用可以用于不同对象的方法。
  • apply()方法: apply()方法用于编写可以用于不同对象的方法。它与函数call()不同,因为它将参数作为数组传入。

5. 如何在JavaScript中从超链接中定位特定的框架

可以使用超链接中的target属性来实现。比如

<a href="/geeksforgeeks.htm" target="newframe">新页面</a>

6. 编写JavaScript中的错误

有三种不同类型的JavaScript错误。

  • 语法错误:

    语法错误是一系列字符或标记的语法错误,旨在使用特定编程语言编写。

  • 逻辑错误:

    这是最难追踪的错误,因为它是在编码的逻辑部分上出现的错误,或者逻辑错误是导致程序操作不正确和异常终止的错误。

  • 运行时错误:

    运行时错误是在程序运行期间发生的错误,也被称为异常。

7. JavaScript和Jscript之间的区别是什么

JavaScript

  • 它是由Netscape开发的脚本语言。
  • 它被用于设计客户端和服务器端应用程序。
  • 它完全独立于Java语言。

Jscript

  • 它是由Microsoft开发的脚本语言。
  • 它被用于设计用于全球互联网的活跃在线内容。

8. “var myArray = [[]];” 这个语句的声明是什么意思

在JavaScript中,这个语句用于声明一个二维数组。

9. 一个HTML元素可以在JavaScript代码中以几种方式访问

在JavaScript中,有四种可能的方式来访问HTML元素,它们是:

  • getElementById() 方法:通过元素的id名称来获取元素。
  • getElementsByClass() 方法:获取所有具有给定类名的元素。
  • getElementsByTagName()方法: 用于获取所有具有给定标签名称的元素。
  • querySelector()方法: 此功能使用CSS样式选择器并返回第一个选定的元素。

10. innerHTML和innerText之间有什么区别

innerText属性设置或返回指定节点及其所有后代的纯文本文本内容,而innerHTML属性设置或返回元素中的纯文本或HTML内容。与innerText不同,innerHTML允许您使用HTML富文本,并且不会自动编码和解码文本。

11. JavaScript中的事件冒泡是什么

考虑一种情况,一个元素位于另一个元素内,并且它们都处理一个事件。事件在冒泡时,最内层的元素首先处理事件,然后是外层元素,依此类推。

12. 以下代码的输出结果是什么

let X = { geeks: 1 }; 
let Output = (function () { 
    delete X.geeks; 
    return X.geeks; 
})(); 

console.log(output);

在这里,删除语句将删除对象的属性。X是一个具有geeks属性的对象,并且这是一个自调用函数,它将从对象X中删除geeks属性,因此结果将是undefined。

13. JavaScript和ECMA Script有什么关系

JavaScript是一种主要的语言,必须遵守一些规则和规定,其中包括ECMA Script,这些规则还为JavaScript语言带来了新的特性。

14. 如何隐藏不支持JavaScript的旧浏览器的JavaScript代码

要隐藏不支持JavaScript的老浏览器中的JavaScript代码,您可以使用

<!-- 在<script> 标签之前和 </script> 标签之后添加另一个//--> 

所有的老浏览器都会将其视为长注释的HTML。支持JavaScript的新浏览器将将其视为在线注释。

15. 以下代码的输出是什么

let output = (function(x) {
     delete x;
     return x;
})(0);

document.write(output);

输出将是0。delete运算符用于删除对象的属性,但本例中的x是一个局部变量,不是对象。delete运算符不会影响局部变量。

16. 在JavaScript中,回答以下表达式的结果是true还是false

"0" == 0   // true or false ? 
"" == 0   // true or false ? 
"" == "0"   // true or false ?

结果对第一和第二种情况是True,对第三种情况是False。

17. 如何使用任何浏览器进行调试

通过按下F12,我们可以触发任何浏览器的调试模式,并且可以通过点击控制台查看结果。

18. 什么是javascript提升

任何解释器运行代码时,所有变量都会被重新提升到原始作用域的顶部。这个方法适用于变量的声明,而不是初始化。这被称为javascript提升(javascript Hoisting)。

19. Self invocation Function的语法是什么

自调用函数的语法:最后一个方括号包含函数表达式。

(function () {
  return // body of the function
}());

20. 如何在另一个JavaScript文件中使用外部JavaScript文件

你可以使用下面的代码在另一个JavaScript文件中使用外部JavaScript代码。

let script = document.createElement('script'); 
script.src = "external javascript file"; 
document.head.appendChild(script)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程