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,
更多详细信息:浏览器对象模型
17)什么是DOM?文档对象有什么用?
DOM代表文档对象模型。文档对象代表HTML文档。它可用于访问和更改HTML的内容。
更多详细信息:文档对象模型
18)窗口对象有什么用?
窗口对象由代表浏览器窗口的浏览器自动创建。它不是JavaScript的对象。它是浏览器对象。
窗口对象用于显示弹出对话框。让我们看一下描述。
Method | Description |
---|---|
显示包含”确定”按钮的消息的警报框。 | |
显示确认对话框, 其中包含带有”确定”和”取消”按钮的消息。 | |
显示一个对话框以获取用户输入。 | |
打开新窗口。 | |
关闭当前窗口。 | |
在指定的时间后执行操作, 例如调用函数, 计算表达式。 |
更多细节。
19)历史对象的用途是什么?
浏览器的历史记录对象可用于切换到历史记录页面, 例如从当前页面或其他页面来回切换。历史对象有三种方法。
- history.back()-加载上一页。
- history.forward()-加载下一页。
- history.go(number)-该数字可能对正向为正, 对于反向为负。它加载给定的页码。
更多细节。
20)如何用JavaScript编写注释?
JavaScript有两种类型的注释。
- 单行注释:用//表示(双正斜杠)
- 多行注释:斜杠用星号表示为/ *在此处写注释* /
更多细节。
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种。
- 按对象字面量
- 通过创建对象的实例
- 按对象构造函数
让我们看一个简单的代码, 使用对象文字创建对象。
emp={id:102, name:"Rahul Kumar", salary:50000}
更多细节。
27)如何用JavaScript创建数组?
使用JavaScript创建数组的方法有3种。
- 按数组文字
- 通过创建Array的实例
- 通过使用数组构造函数
让我们看一个简单的代码, 使用对象文字创建数组。
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
正则表达式
评论前必须登录!
注册