小白学习路之Javascript 面试题

文章原文来自:史上最全 Javascript 面试题及答案全在这
 
 

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

类似的基本题目还包括:JavaScript 都有哪些类型 ?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,

x+y;

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

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

未声明的变量是程序中不存在且未声明的变量。如果程序尝试读取未声明变量的值,则会遇到运行时错误。未定义的变量是在程序中声明但尚未给出任何值的变量。如果程序尝试读取未定义变量的值,则返回未定义的值。

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

例:// Declare a global globalVariable = “Test”;

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

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

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

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

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

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

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

10、ViewState 和 SessionState 有什么区别 ?

“ViewState” 特定于会话中的页面。

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

11、什么是 === 运算符 ?

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

12、说明如何使用 JavaScript 提交表单 ?

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

document.form [ 0 ] .submit ( ) ;

document.form [ 0 ] .submit ( )

13、元素的样式 / 类如何改变 ?

可以通过以下方式完成:

document.getElementById ( “myText” ) .style.fontSize = "20?;

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

14、JavaScript 中的循环结构都有什么 ?

For、While、do-while loops

15、如何在 JavaScript 中将 base 字符串转换为 integer?

parseInt ( ) 函数解析一个字符串参数,并返回一个指定基数的整数。parseInt ( ) 将要转换的字符串作为其第一个参数,第二个参数是给定字符串的基础。

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

16、说明 “" 和 "=” 之间的区别 ?

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

17、3 + 2 +“7” 的结果是什么 ?

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

18、说明如何检测客户端机器上的操作系统 ?

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

19、Javascript 中的 NULL 是什么意思 ?

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

20、delete 操作符的功能是什么 ?

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

21、JavaScript 中有哪些类型的弹出框 ?

Alert、Confirm and、Prompt

22、Void ( 0 ) 怎么用 ?

Void ( 0 ) 用于防止页面刷新,并在调用时传递参数 “zero”。

Void ( 0 ) 用于调用另一种方法而不刷新页面。

23、如何强制页面加载 JavaScript 中的其他页面 ?

必须插入以下代码才能达到预期效果:

24、escape 字符是用来做什么的 ?
使用特殊字符 ( 如单引号,双引号,撇号和 & 符号 ) 时,将使用转义字符 ( 反斜杠 ) 。在字符前放置反斜杠,使其显示。

25、什么是 JavaScript Cookie?

Cookie 是用来存储计算机中的小型测试文件,当用户访问网站以存储他们需要的信息时,它将被创建。

26、解释 JavaScript 中的 pop ( ) 方法 ?

pop ( ) 方法与 shift ( ) 方法类似,但不同之处在于 Shift 方法在数组的开头工作。此外,pop ( ) 方法将最后一个元素从给定的数组中取出并返回。然后改变被调用的数组。

var cloths = [ “Shirt”, “Pant”, “TShirt” ] ;

cloths.pop ( ) ;

//Now cloth becomes Shirt,Pant

27、在 JavaScript 中使用 innerHTML 的缺点是什么 ?加粗样式

如果在 JavaScript 中使用 innerHTML,缺点是:内容随处可见 ; 不能像 " 追加到 innerHTML" 一样使用 ; 即使你使用 + = like"innerHTML = innerHTML +‘html’" 旧的内容仍然会被 html 替换 ; 整个 innerHTML 内容被重新解析并构建成元素,因此它的速度要慢得多 ;innerHTML 不提供验证,因此我们可能会在文档中插入有效的和破坏性的 HTML 并将其中断。

28、break 和 continue 语句的作用 ?

Break 语句从当前循环中退出。

continue 语句继续下一个循环语句。

29、在 JavaScript 中,dataypes 的两个基本组是什么 ?

Primitive

Reference types

原始类型是数字和布尔数据类型。引用类型是更复杂的类型,如字符串和日期。

30、如何创建通用对象 ?

通用对象可以创建为:

var I = new object ( ) ;

31、operator 类型用来做什么 ?

‘Typeof’ 是一个运算符,用于返回变量类型的字符串描述。

32、哪些关键字用于处理异常 ?

try… Catch-finally 用于处理 JavaScript 中的异常。

33、JavaScript 中不同类型的错误有几种 ?
有三种类型的错误:

Load time errors:该错误发生于加载网页时,例如出现语法错误等状况,称为加载时间错误,并且会动态生成错误。

Run time errors:由于在 HTML 语言中滥用命令而导致的错误。

Logical Errors:这是由于在具有不同操作的函数上执行了错误逻辑而发生的错误。

34、在 JavaScript 中使用的 Push 方法是什么 ?

push 方法用于将一个或多个元素添加或附加到数组的末尾。使用这种方法,可以通过传递多个参数来附加多个元素。

35、什么是 JavaScript 中的 unshift 方法 ?

Unshift 方法就像在数组开头工作的 push 方法。该方法用于将一个或多个元素添加到数组的开头。

36、对象属性如何分配 ?

属性按以下方式分配给对象:

obj [ “class” ] = 12;

obj.class = 12;

37、获得 CheckBox 状态的方式是什么 ?

alert ( document.getElementById ( ‘checkbox1’ ) 。checked ) ;

如果 CheckBox 被检查,此警报将返回 TRUE。

38、解释 window.onload 和 onDocumentReady?

在载入页面的所有信息之前,不运行 onload 函数。这导致在执行任何代码之前会出现延迟。

onDocumentReady 在加载 DOM 之后加载代码。这允许早期的代码操纵。

39、你将如何解释 JavaScript 中的闭包 ? 什么时候使用 ?

Closure 是与函数返回时保留在内存中的函数相关的本地声明变量。

例如:

40、一个值如何附加到数组 ?
可以以给定的方式将值附加到数组:

arr [ arr.length ] = value;

41、解释 for-in 循环 ?

for-in 循环用于循环对象的属性。

for-in 循环的语法是:

在每次循环中,来自对象的一个属性与变量名相关联,循环继续,直到对象的所有属性都被耗尽。
42、描述 JavaScript 中的匿名函数 ?

被声明为没有任何命名标识符的函数被称为匿名函数。一般来说,匿名函数在声明后无法访问。

匿名函数声明:

43、.call ( ) 和 .apply ( ) 之间有什么区别 ?
函数 .call ( ) 和 .apply ( ) 在使用上非常相似,只是有一点区别。当程序员知道函数参数的编号时,使用 .call ( ) ,因为它们必须在调用语句中被提及为参数。另一方面,当不知道数字时使用 .apply ( ) , 函数 .apply ( ) 期望参数为数组。

.call ( ) 和 .apply ( ) 之间的基本区别在于将参数传递给函数。它们的用法可以通过给定的例子进行说明。

44、定义事件冒泡 ?
JavaScript 允许 DOM 元素嵌套在一起。在这种情况下,如果单击子级的处理程序,父级的处理程序也将执行同样的工作。

45、什么样的布尔运算符可以在 JavaScript 中使用 ?

“And” 运算符 ( && ) ,‘Or’ 运算符 ( || ) 和 ‘Not’ 运算符 ( ! ) 可以在 JavaScript 中使用。

  • 运算符没有括号。

46、一个特定的框架如何使用 JavaScript 中的超链接定位 ?

可以通过使用 “target” 属性在超链接中包含所需帧的名称来实现。

New Page

47、在 web-garden 和 web-farm 之间有何不同 ?

web-garden 和 web-farm 都是网络托管系统。唯一的区别是 web-garden 是在单个服务器中包含许多处理器的设置,而 web-farm 是使用多个服务器的较大设置。

48、如何分配对象属性 ?

将属性分配给对象的方式与赋值给变量值相同。例如,表单对象的操作值以下列方式分配为 " ‘ submit":Document.form.action =“submit”

49、在 JavaScript 中读取和写入文件的方法是什么 ?

可以通过使用 JavaScript 扩展 ( 从 JavaScript 编辑器运行 ) ,打开文件的示例来完成:

fh = fopen ( getScriptPath ( ) , 0 ) ;

50、在 JavaScript 中如何使用 DOM?

DOM 代表文档对象模型,并且负责文档中各种对象的相互交互。DOM 是开发网页所必需的,其中包括诸如段落,链接等对象。可以操作这些对象以包括添加或删除等操作,DOM 还需要向网页添加额外的功能。除此之外,API 的使用比其他更有优势。

51、JavaScript 中如何使用事件处理程序 ?

事件是由用户生成活动 ( 例如单击链接或填写表单 ) 导致的操作。需要一个事件处理程序来管理所有这些事件的正确执行。事件处理程序是对象的额外属性。此属性包括事件的名称以及事件发生时采取的操作。

52、解释延迟脚本在 JavaScript 中的作用 ?

默认情况下,在页面加载期间,HTML 代码的解析将暂停,直到脚本停止执行。这意味着,如果服务器速度较慢或者脚本特别沉重,则会导致网页延迟。在使用 Deferred 时,脚本会延迟执行直到 HTML 解析器运行。这减少了网页加载时间,并且它们的显示速度更快。

53、JavaScript 中的各种功能组件是什么 ?

JavaScript 中的不同功能组件是:

First-class 函数:JavaScript 中的函数被用作第一类对象。这通常意味着这些函数可以作为参数传递给其他函数,作为其他函数的值返回,分配给变量,也可以存储在数据结构中。

嵌套函数:在其他函数中定义的函数称为嵌套函数。

54、解释 unshift ( ) 方法 ?

该方法在数组启动时起作用,与 push ( ) 不同。 它将所需数量的元素添加到数组的顶部。例如:

输出如下所示:
[ " joseph “,” Jane ", " charlie ", " john " ]

55、decodeURI ( ) 和 encodeURI ( ) 是什么 ?

EncodeURl ( ) 用于将 URL 转换为十六进制编码。而 DecodeURI ( ) 用于将编码的 URL 转换回正常。

56、为什么不建议在 JavaScript 中使用 innerHTML?

innerHTML 内容每次刷新,因此很慢。 在 innerHTML 中没有验证的余地,因此,更容易在文档中插入错误代码,从而使网页不稳定。

57、如何在不支持 JavaScript 的旧浏览器中隐藏 JavaScript 代码 ?

在标签之后的代码中添加 " 标签之前添加 “// - >” 代码中没有引号。

旧浏览器现在将 JavaScript 代码视为一个长的 HTML 注释。而支持 JavaScript 的浏览器则将 “” 作为一行注释。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值