个性化阅读
专注于IT技术分析

史上最全JavaScript面试题和答案大合集

JavaScript面试题

JavaScript面试问题和答案提供了前20个面试问题的列表。下面列出了针对初学者和专业人士的常见JavaScript访谈问题。

1)什么是JavaScript?

JavaScript是一种脚本语言。它与Java语言不同。它是基于对象的轻量级跨平台翻译语言。它广泛用于客户端验证。 JavaScript转换器(嵌入在浏览器中)负责为Web浏览器翻译JavaScript代码。更多细节。


2)列出JavaScript的一些功能。

JavaScript的一些功能包括:

  • 轻巧的
  • 解释性编程语言
  • 适用于以网络为中心的应用
  • 与Java互补
  • 与HTML互补
  • 开源的
  • 跨平台

3)列出JavaScript的一些优点。

JavaScript的一些优点是:

  • 服务器交互较少
  • 立即反馈给访客
  • 互动性高
  • 界面更丰富

4)列出JavaScript的一些缺点。

JavaScript的一些缺点是:

  • 不支持多线程
  • 不支持多处理
  • 不允许读写文件
  • 不支持网络应用程序。

5)在JavaScript中定义一个命名函数。

定义时已命名的函数称为命名函数。例如

function msg()
{
  document.writeln("Named Function");
}
msg();

6)命名功能类型

函数的类型为:

命名-这些类型的函数在定义时包含名称。例如:

function display()
{
  document.writeln("Named Function");
}
display();

匿名-这些类型的函数不包含任何名称。它们在运行时动态声明。

var display=function()
{
  document.writeln("Anonymous Function");
}
display();

7)定义匿名函数

它是一个没有名称的函数。这些函数在运行时使用函数运算符而不是函数声明动态声明。函数运算符比函数声明更灵活。它可以很容易地代替表达式。例如:

var display=function()
{
  alert("Anonymous Function is invoked");
}
display();

8)可以将匿名函数分配给变量吗?

是的, 你可以为变量分配匿名函数。


9)在JavaScript中, 参数对象是什么?

JavaScript的变量表示传递给函数的参数。


10)定义闭包。

在JavaScript中, 当从某个内部范围访问在引用范围之外定义的变量时, 我们需要闭包。

var num = 10;
function sum() 
{
document.writeln(num+num);
} 
sum();

11)如果要从特定索引返回字符, 则使用哪种方法?

JavaScript字符串charAt()方法用于找出指定索引处存在的char值。索引号从0开始到n-1, 其中n是字符串的长度。索引值不能为负数, 不能大于或等于字符串的长度。例如:

var str="srcmini";  
document.writeln(str.charAt(4));

12)JavaScript和JScript有什么区别?

Netscape提供了JavaScript语言。 Microsoft更改了名称, 并将其命名为JScript以避免商标问题。换句话说, 你可以说JScript与JavaScript相同, 但是Microsoft提供了它。


13)如何编写一个JavaScript的世界示例?

下面是一个简单的JavaScript hello世界示例。你需要将其放置在HTML的body标签内。

<script type="text/javascript">
document.write("JavaScript Hello World!");
</script>

更多细节。


14)如何使用外部JavaScript文件?

我假设js文件名为message.js, 请将以下脚本标签放在head标签内。

<script type="text/javascript" src="message.js"></script>

更多细节。


15)JavaScript是否区分大小写?

是的, JavaScript是区分大小写的语言。例如:

Var msg = "JavaScript is a case-sensitive language"; //Here, var should be used to declare a variable
function display() 
{
document.writeln(msg); // It will not display the result.
} 
display();

16)什么是BOM?

BOM代表浏览器对象模型。它提供与浏览器的交互。浏览器的默认对象是窗口。因此, 你可以通过指定窗口或直接调用窗口的所有功能。窗口对象提供了各种属性, 例如文档, 历史记录, 屏幕, 导航器, 位置, innerHeight, innerWidth,

javascript对象模型

更多详细信息:浏览器对象模型


17)什么是DOM?文档对象有什么用?

DOM代表文档对象模型。文档对象代表HTML文档。它可用于访问和更改HTML的内容。

更多详细信息:文档对象模型


18)窗口对象有什么用?

窗口对象由代表浏览器窗口的浏览器自动创建。它不是JavaScript的对象。它是浏览器对象。

窗口对象用于显示弹出对话框。让我们看一下描述。

Method Description
显示包含”确定”按钮的消息的警报框。
显示确认对话框, 其中包含带有”确定”和”取消”按钮的消息。
显示一个对话框以获取用户输入。
打开新窗口。
关闭当前窗口。
在指定的时间后执行操作, 例如调用函数, 计算表达式。

更多细节。


19)历史对象的用途是什么?

浏览器的历史记录对象可用于切换到历史记录页面, 例如从当前页面或其他页面来回切换。历史对象有三种方法。

  1. history.back()-加载上一页。
  2. history.forward()-加载下一页。
  3. history.go(number)-该数字可能对正向为正, 对于反向为负。它加载给定的页码。

更多细节。


20)如何用JavaScript编写注释?

JavaScript有两种类型的注释。

  1. 单行注释:用//表示(双正斜杠)
  2. 多行注释:斜杠用星号表示为/ *在此处写注释* /

更多细节。


21)如何在JavaScript中创建函数?

要使用JavaScript创建函数, 请遵循以下语法。

function function_name(){
//function body
}

更多细节。


22)什么是JavaScript数据类型?

JavaScript中有两种类型的数据类型:

原始数据类型-原始数据类型如下:

数据类型 Description
代表一个字符序列, 例如” hello”
代表数值, 例如100
表示布尔值false或true
代表未定义的值
代表null, 即完全没有值

非原始数据类型-非原始数据类型如下:

Data Type Description
表示我们可以通过其访问成员的实例
代表一组相似的值
代表正则表达式

更多细节。


23)==和===有什么区别?

==运算符仅检查相等性, 而===检查相等性, 并且数据类型(即, 值)必须为相同类型。


24)如何使用JavaScript动态编写HTML代码?

innerHTML属性用于动态地使用JavaScript编写HTML代码。让我们看一个简单的例子:

document.getElementById('mylocation').innerHTML="<h2>This is heading using JavaScript</h2>";

更多细节。


25)如何使用JavaScript动态编写普通文本代码?

innerText属性用于动态地使用JavaScript编写简单文本。让我们看一个简单的例子:

document.getElementById('mylocation').innerText="This is text using JavaScript";

更多细节。


26)如何用JavaScript创建对象?

使用JavaScript创建对象的方法有3种。

  1. 按对象字面量
  2. 通过创建对象的实例
  3. 按对象构造函数

让我们看一个简单的代码, 使用对象文字创建对象。

emp={id:102, name:"Rahul Kumar", salary:50000}

更多细节。


27)如何用JavaScript创建数组?

使用JavaScript创建数组的方法有3种。

  1. 按数组文字
  2. 通过创建Array的实例
  3. 通过使用数组构造函数

让我们看一个简单的代码, 使用对象文字创建数组。

var emp=["Shyam", "Vimal", "Ratan"];

更多细节。


28)isNaN()函数有什么作用?

如果变量值不是数字, 则isNan()函数将返回true。例如:

function number(num) {
  if (isNaN(num)) {
    return "Not a Number";
  }
  return "Number";
}
console.log(number('1000F'));
// expected output: "Not a Number"

console.log(number('1000'));
// expected output: "Number"

29)JavaScript中10 + 20 +” 30″的输出是什么?

3030, 因为10 + 20将是30。如果在+之前和之后存在数值, 则将其视为二进制+(算术运算符)。

function display()
{
  document.writeln(10+20+"30");
}
display();

30)JavaScript中” 10″ + 20 + 30的输出是什么?

102030, 因为在字符串后, 所有+将被视为字符串连接运算符(不是二进制+)。

function display()
{
  document.writeln("10"+20+30);
}
display();

31)客户端JavaScript和服务器JavaScript之间的区别?

客户端JavaScript包括基本语言和预定义的对象, 这些对象与在浏览器中运行JavaScript有关。客户端JavaScript直接嵌入在HTML页面中。浏览器在运行时解释此脚本。

服务器端JavaScript也类似于客户端JavaScript。它具有要在服务器中运行的相关JavaScript。仅在编译后才部署服务器端JavaScript。


32)Cookie在硬盘上的哪个位置存储?

Cookie在硬盘上的存储取决于操作系统和浏览器。

Windows上的Netscape Navigator使用包含所有cookie的cookies.txt文件。路径为c:\ Program Files \ Netscape \ Users \ username \ cookies.txt

Internet Explorer将cookie存储在文件username@website.txt上。路径是:c:\ Windows \ Cookies \ username@Website.txt。


33)JavaScript的真实名称是什么?

最初的名称是Mocha, 这是Netscape创始人Marc Andreessen选择的名称。 1995年9月, 名称更改为LiveScript。 1995年12月, 在获得Sun的商标许可后, 采用了JavaScript名称。


34)未定义值和空值有什么区别?

未定义值:未定义且没有关键字的值称为未定义值。例如:

int number;//Here, a number has an undefined value.

空值:由关键字” null”显式指定的值称为空值。例如:

String str=null;//Here, str has a null value.

35)如何设置光标在JavaScript中等待?

可以使用” cursor”属性将光标设置为在JavaScript中等待。以下示例说明了用法:

<script>
window.document.body.style.cursor = "wait"; 
</script>

36)这是什么[[[]]?

这是三维数组。

var myArray = [[[]]];

37)Java和JavaScript是否相同?

不, Java和JavaScript是两种不同的语言。 Java是一种健壮, 安全且面向对象的编程语言, 而JavaScript是一种具有某些限制的客户端脚本语言。


38)什么是负无穷大?

负无穷大是JavaScript中的一个数字, 可以通过将负数除以零来得出。例如:

var num=-5;
function display()
{
  document.writeln(num/0);
}
display();
//expected output: -Infinity

39)View状态和Session状态有什么区别?

“查看状态”特定于会话中的页面, 而”会话状态”特定于可以跨Web应用程序中所有页面访问的用户或浏览器。


40)JavaScript中有哪些弹出框?

  • 警报框
  • 确认框
  • 提示框

JavaScript中的alert()示例

<script type="text/javascript">
function msg(){
 alert("Hello Alert Box");
}
</script>
<input type="button" value="click" onclick="msg()"/>

JavaScript中的Confirm()示例

<script type="text/javascript">
function msg(){
var v= confirm("Are u sure?");
if(v==true){
alert("ok");
}
else{
alert("cancel");
}

}
</script>

<input type="button" value="delete record" onclick="msg()"/>

JavaScript中的hint()示例

<script type="text/javascript">
function msg(){
var v= prompt("Who are you?");
alert("I am "+v);

}
</script>

<input type="button" value="click" onclick="msg()"/>

41)我们如何使用JavaScript检测客户端计算机的操作系统?

navigator.appVersion字符串可用于检测客户端计算机上的操作系统。


42)如何通过单击链接使用JavaScript提交表单?

让我们看一下通过单击链接提交表单的JavaScript代码。

<form name="myform" action="index.php">
Search: <input type='text' name='query' />
<a href="javascript: submitform()">Search</a>
</form>
<script type="text/javascript">
function submitform()
{
  document.myform.submit();
}
</script>

43)JavaScript是否比ASP脚本快?

是的, 因为它不需要Web服务器的执行支持。


44)如何使用JavaScript更改HTML文档的背景颜色?

<script type="text/javascript">
document.body.bgColor="pink";
</script>

45)如何处理JavaScript中的异常?

借助于try / catch块, 我们可以处理JavaScript中的异常。 JavaScript支持try, catch, finally和throw关键字以进行异常处理。


46)如何在JavaScript中验证表单?

<script>
function validateform(){
var name=document.myform.name.value;
var password=document.myform.password.value;

if (name==null || name==""){
  alert("Name can't be blank");
  return false;
}else if(password.length<6){
  alert("Password must be at least 6 characters long.");
  return false;
  }
}
</script>
<body>
<form name="myform" method="post" action="abc.jsp" onsubmit="return validateform()" >
Name: <input type="text" name="name"><br/>
Password: <input type="password" name="password"><br/>
<input type="submit" value="register">
</form>

立即测试

请访问此处:JavaScript表单验证。


47)如何在JavaScript中验证电子邮件?

<script>
function validateemail()
{
var x=document.myform.email.value;
var atposition=x.indexOf("@");
var dotposition=x.lastIndexOf(".");
if (atposition<1 || dotposition<atposition+2 || dotposition+2>=x.length){
  alert("Please enter a valid e-mail address \n atpostion:"+atposition+"\n dotposition:"+dotposition);
  return false;
  }
}
</script>
<body>
<form name="myform"  method="post" action="#" onsubmit="return validateemail();">
Email: <input type="text" name="email"><br/>

<input type="submit" value="register">
</form>

立即测试

请访问此处:JavaScript电子邮件验证。


48)JavaScript中的这个关键字是什么?

this关键字是引用当前对象的参考变量。例如:

var address=  
{  
company:"srcmini", city:"Noida", state:"UP", fullAddress:function()  
{  
return this.company+" "+this.city+" "+this.state;  
}  
};  
var fetch=address.fullAddress();  
document.writeln(fetch);

49)用JavaScript调试有什么要求?

JavaScript在浏览器中未显示任何错误消息。但是, 这些错误会影响输出。找出错误的最佳实践是调试代码。使用Google Chrome, Mozilla Firebox等网络浏览器可以轻松调试代码。

要执行调试, 我们可以使用以下任何一种方法:

  • 使用console.log()方法
  • 使用调试器关键字

50)JavaScript中debugger关键字的用途是什么?

JavaScript调试器关键字通过代码本身设置断点。调试器在应用程序的位置停止程序的执行。现在, 我们可以手动开始执行流程。如果发生异常, 则执行将在该特定行上再次停止。例如:

function display()
{
x = 10;  
y = 15;  
z = x + y;  
debugger;  
document.write(z);  
document.write(a);   
}   
display();

51)严格模式在JavaScript中起什么作用?

JavaScript严格模式用于生成静默错误。它提供”严格使用”;表达式以启用严格模式。该表达式只能作为脚本或函数中的第一条语句放置。例如:

"use strict";  
x=10;  
console.log(x);

52)JavaScript中Math对象的用途是什么?

JavaScript数学对象提供了一些常数和执行数学运算的方法。与日期对象不同, 它没有构造函数。例如:

function display()
{
  document.writeln(Math.random());
}
display();

53)JavaScript中Date对象的用途是什么?

JavaScript日期对象可用于获取年, 月和日。你可以借助JavaScript日期对象在网页上显示计时器。

function display()
{
  var date=new Date();  
var day=date.getDate();  
var month=date.getMonth()+1;  
var year=date.getFullYear();  
document.write("<br>Date is: "+day+"/"+month+"/"+year);  
}
display();

54)JavaScript中Number对象的用途是什么?

JavaScript数字对象使你可以表示数字值。它可以是整数或浮点数。 JavaScript数字对象遵循IEEE标准来表示浮点数。

function display()
{
var x=102;//integer value  
var y=102.7;//floating point value  
var z=13e4;//exponent value, output: 130000  
var n=new Number(16);//integer value by number object  
document.write(x+" "+y+" "+z+" "+n);  
}   
display();

55)JavaScript中布尔对象的用途是什么?

JavaScript布尔值是一个以两种状态表示值的对象:true或false。你可以通过Boolean()构造函数创建JavaScript布尔对象。

function display()
{
document.writeln(10<20);//true  
document.writeln(10<5);//false   
}   
display();

56)JavaScript中TypedArray对象的用途是什么?

JavaScript TypedArray对象说明了一个类似于基础二进制数据缓冲区视图的数组。有许多不同的全局属性, 其值是用于特定元素类型的TypedArray构造函数。

function display()
{
var arr1= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];   
       arr1.copyWithin(2) ; 
       document.write(arr1);  
}
display();

57)JavaScript中Set对象的用途是什么?

JavaScript Set对象用于存储具有唯一值的元素。这些值可以是任何类型, 即原始值或对象引用。例如:

function display()
{
var set = new Set();  
set.add("jQuery");  
set.add("AngularJS");  
set.add("Bootstrap");  
for (let elements of set) {  
 document.writeln(elements+"<br>");  
}   
}
display();

58)在JavaScript中WeakSet对象有什么用?

JavaScript WeakSet对象是一种集合类型, 它允许我们存储弱势对象。与Set不同, WeakSet仅是对象的集合。它不包含任意值。例如:

function display()
{
var ws = new WeakSet();  
var obj1={};  
var obj2={};  
ws.add(obj1);  
ws.add(obj2);  
//Let's check whether the WeakSet object contains the added object  
document.writeln(ws.has(obj1)+"<br>");  
document.writeln(ws.has(obj2));   
}   
display()

59)JavaScript中Map对象的用途是什么?

JavaScript Map对象用于将键映射到值。它将每个元素存储为键值对。它根据指定的键操作诸如搜索, 更新和删除之类的元素。例如:

function display()
{
var map=new Map();  
map.set(1, "jQuery");  
map.set(2, "AngularJS");  
map.set(3, "Bootstrap");  
document.writeln(map.get(1)+"<br>");  
document.writeln(map.get(2)+"<br>");  
document.writeln(map.get(3));  
}
display();

60)WeakMap对象在JavaScript中的用途是什么?

JavaScript WeakMap对象是一种类似于Map的集合。它将每个元素存储为键-值对, 其中键被弱引用。这里, 键是对象, 值是任意值。例如:

function display()
{
var wm = new WeakMap();  
var obj1 = {};  
var obj2 = {};  
var obj3= {};  
wm.set(obj1, "jQuery");  
wm.set(obj2, "AngularJS");  
wm.set(obj3, "Bootstrap");  
document.writeln(wm.has(obj2));   
}   
display();

其他面试问题

Java核心面试问题


Servlet面试问题


JSP面试问题


SQL面试题


PL / SQL面试问题


Android面试题

警报()

确认()

提示()

打开()

关()

setTimeout()

String

Number

boolean

未定义

null

Object

Array

正则表达式

赞(0) 打赏
未经允许不得转载:srcmini » 史上最全JavaScript面试题和答案大合集
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏