JavaScript面试系列-01

2022年7月17日
大约 5 分钟

JavaScript面试系列-01

1. 什么是 JavaScript?

JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

JavaScript是客户端和服务器端脚本语言,可以插入到HTML页面中,并且是目前较热门的Web开发语言。同时,JavaScript也是面向对象编程语言。

2. 列举 Java 和 JavaScript 之间的区别?

Java是一门十分完整、成熟的编程语言。相比之下,JavaScript是一个可以被引入HTML页面的编程语言。这两种语言并不完全相互依赖,而是针对不同的意图而设计的。

Java是一种面向对象编程(OOPS)或结构化编程语言,类似的如C ++或C,而JavaScript是客户端脚本语言,它被称为非结构化编程。

3. JavaScript 和 ASP 脚本相比,哪个更快?

JavaScript更快。

JavaScript是一种客户端语言,因此它不需要Web服务器的协助来执行。另一方面,ASP是服务器端语言,因此总是比JavaScript慢。值得注意的是,Javascript现在也可用于服务器端语言(nodejs)。

4. 什么是负无穷大?

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

5. 如何将 JavaScript 代码分解成几行吗?

在字符串语句中可以通过在第一行末尾使用反斜杠“\”来完成

例:

document.write("This is \a program");

如果不是在字符串语句中更改为新行,那么javaScript会忽略行中的断点。

例:

var x=1, y=2,
z=
x+y;

上面的代码是完美的,但并不建议这样做,因为阻碍了调试。

6. 什么是未声明和未定义的变量?

未声明的变量是程序中不存在且未声明的变量。如果程序尝试读取未声明变量的值,则会遇到运行时错误。

未定义的变量是在程序中声明但尚未给出任何值的变量。如果程序尝试读取未定义变量的值,则返回未定义的值。

7. 什么是全局变量?这些变量如何声明,使用全局变量有哪些问题?

全局变量是整个代码长度可用的变量,也就是说这些变量没有任何作用域。var关键字用于声明局部变量或对象。如果省略var关键字,则声明一个全局变量。

例:

Declare a global globalVariable = "Test";

使用全局变量所面临的问题是本地和全局变量名称的冲突。此外,很难调试和测试依赖于全局变量的代码。

8. 解释 JavaScript 中定时器的工作?如果有,也可以说明使用定时器的缺点?

定时器用于在设定的时间执行一段代码,或者在给定的时间间隔内重复该代码。这通过使用函数setTimeout,setInterval和clearInterval来完成。

1、setTimeout(function,delay) 函数用于启动在所述延迟之后调用特定功能的定时器。

2、setInterval(function,delay) 函数用于在提到的延迟中重复执行给定的功能,只有在取消时才停止。

3、clearInterval(id) 函数指示定时器停止。

定时器在一个线程内运行,因此事件可能需要排队等待执行。

9. ViewState 和 SessionState 有什么区别?

ViewState特定于会话中的页面。

SessionState特定于可在Web应用程序中的所有页面上访问的用户特定数据。

10. 什么是 === 运算符?

===被称为严格等式运算符,当两个操作数具有相同的值而没有任何类型转换时,该运算符返回true。

11. 如何使用 JavaScript 提交表单?

要使用JavaScript提交表单,请使用

document.form [0].submit();

12. 如何改变元素的样式或者类?

可以通过以下方式完成:

document.getElementById("myText").style.fontSize = "20px";

或者

document.getElementById(“myText”).className = "anyclass";

13. JavaScript 中的循环结构都有什么?

For、While、do-while loops

14. 如何在 JavaScript 中将 base 字符串转换为 integer?

parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数。

parseInt()将要转换的字符串作为其第一个参数,第二个参数是给定字符串的基础。

为了将4F(基数16)转换为整数,所使用的代码是:parseInt("4F", 16);

15. 说一说 == 和 === 之间有什么区别?

“==”仅检查值相等,而“===”是一个更严格的等式判定,如果两个变量的值或类型不同,则返回false。

16. 3 + 2 +"7" 的结果是什么?

由于3和2是整数,它们将直接相加。由于7是一个字符串,它将会被直接连接,所以结果将是57。

17. 如何检测客户端机器上的操作系统?

为了检测客户端机器上的操作系统,应使用navigator.appVersion字符串(属性)。

18. JavaScript 中的 NULL 是什么意思?

NULL用于表示无值或无对象。它意味着没有对象或空字符串,没有有效的布尔值,没有数值和数组对象。

19. delete 操作符的功能是什么?

delete操作符用于删除程序中的所有变量或对象,但不能删除使用VAR关键字声明的变量。

20. JavaScript 中有哪些类型的弹出框?

Alert、Confirm、Prompt