问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javascript面试题级答案

发布网友 发布时间:2022-04-24 00:57

我来回答

4个回答

懂视网 时间:2022-04-29 14:57

问题1:Java和JavaScript有什么不同

JavaJavaScript
Java是一种OOP编程语言。JavaScript是一种OOP脚本语言。
它创建在虚拟机或浏览器中运行的应用程序。代码在浏览器或node环境上运行。
需要编译Java代码。JS代码都是文本的形式。

问题2:什么 Javascript

JavaScript 是一种轻量级的解释型编程语言,具有面向对象的特性,允许各位在其他静态HTML页面中构建交互性。 该语言的通用核心已嵌入Netscape,Internet Explorer和其他Web浏览器中。

【相关课程推荐:JavaScript视频教程】

问题3: JS 支持哪些数据类型

1.png

JS 支持的数据类型:

 ● Undefined

 ● Null

 ● Boolean

 ● String

 ● Symbol

 ● Number

 ● Object

问题4:JavaScript的特性是什么

2.png

以下是JS的特性:

 ● JS 是一种轻量级,解释性编程语言。

 ● 为了创建以网络为中心的应用程序而设计。

 ● 补充和集成了 Java

 ● 补充和集成了 HTML

 ● 开放和跨平台

问题5:JavaScript是区分大小写

是的,JS是一种区分大小写的语言。关键字、变量、函数名和任何其他标识符必须始终使用一致的大写字母进行使用。

问题6:JS 的优势是什么

以下使用JS的优点:

 ● 更少的服务器交互 - 在将页面发送到服务器之前,可以验证用户输入,节省了服务器流量,意味着服务器的负载更少

 ● 立即反馈 - 用户不需要等待页面重新加载来查看是否忘记输入某些内容。

 ● 增强交互 - 在界面中,当用户使用鼠标悬停或通过键盘激活它们时会做出响应。

 ● 丰富的接口 - 可以使用JS包含拖放组件和滑块等项,为网站提供丰富的界面。

问题7:如何用JS创建对象

JS贼支持对象概念,用如下方式创建即可:

var emp = {
name: "Daniel",
age: 23
};

问题8:如何用JS创建数组

JS 创建数组也很简单:

var x = [];
var y = [1, 2, 3, 4, 5];

问题9:JS 中的命名函数是什么以及如何定义:

命名函数在定义后立即声明名称,可以使用function关键字定义:

function named(){
// write code here
}

问题10:是否可以将匿名函数分配给变量并将其作为参数传递给另一个函数

可以。一个匿名函数可以分配给一个变量,它也可以作为参数传递给另一个函数。

问题11:JS中的参数对象是什么&如何获得传递给函数的参数类型

JS 变量arguments表示传递给函数的参数。 使用typeof运算符,可以获得传递给函数的参数类型。如下:

function func(x){
console.log(typeof x, arguments.length);
}
func(); //==> "undefined", 0
func(7); //==> "number", 1
func("1", "2", "3"); //==> "string", 3

问题12:JS中变量的作用域是什么

变量的作用域是程序中定义它的区域,JS变量只有两个作用域:

 ● 全局变量 - 全局变量具有全局作用域,这意味着它在JS代码中的任何位置都可见。

 ● 局部变量 - 局部变量仅在定义它的函数中可见,函数参数始终是该函数的本地参数。

问题13:JS 中“this”运算符的用途是什么?

this关键字引用它所属的对象。 根据使用位置,它具有不同的值。 在方法中,这指的是所有者对象,而在函数中,这指的是全局对象。

问题14:什么是回调

回调函数是作为参数或选项传递给某个方法的普通JS函数。它是一个函数,在另一个函数完成执行后执行,因此称为回调。在JS中,函数是对象,因此,函数可以接受函数作为参数,并且可以由其他函数返回。

问题15:什么是闭包?举个例子

只要在某个内部作用域内访问在当前作用域之外定义的变量,就会创建闭包。 它允许你从内部函数访问外部函数的作用域。 在JS中,每次创建函数时都会创建闭包。 要使用闭包,只需在另一个函数内定义一个函数并暴露它。

问题16:列出一些内置方法及其返回的值。

内置方法返回值
CharAt()它返回指定索引处的字符。
Concat()它连接两个或多个字符串。
forEach()它为数组中的每个元素调用一个函数。
indexOf()它返回指定值第一次出现时调用字符串对象中的索引。
pop()它从数组中删除最后一个元素并返回该元素。
push()它将一个或多个元素添加到数组的末尾,并返回数组的新长度。
reverse()反转数组元素的顺序。

问题17: JS中的变量命名约定是什么?

在JS中命名变量时要遵循以下规则:

  1. 咱们不应该使用任何JS保留关键字作为变量名。例如,breakboolean变量名无效。
  2. JS 变量名不应该以数字(0-9)开头。它们必须以字母或下划线开头。例如,123name是一个无效的变量名,但123namename123是一个有效的变量名。
  3. JS 变量名区分大小写。例如,Testtest是两个不同的变量。

问题18:TypeOf 运算符是如何工作的

typeof运算符用于获取其操作数的数据类型。 操作数可以是文字或数据结构,例如变量,函数或对象。 它是一个一元运算符,放在它的单个操作数之前,可以是任何类型。 它的值是一个字符串,表示操作数的数据类型。

问题19:如何使用 JS 创建 cookie

创建cookie的最简单方法是为document.cookie对象分配一个字符串值,如下所示:

document.cookie = "key1 = value1; key2 = value2; expires = date";

问题20:如何使用JS读取cookie

读取cookie就像写入cookie一样简单,因为document.cookie对象的值是cookie

 ● document.cookie的值是由分号分隔的name=value对的列表,其中name是cookie的名称,value是其字符串值。

 ● 可以使用split()方法将字符串分解为键和值。

问题21:如何使用 JS 删除 cookie

如果要删除cookie以便后续尝试读取cookie,则只需将过期日期设置为过去的时间。 咱们应该定义cookie路径以确保删除正确的cookie。 如果未指定路径,某些浏览器将不允许咱们删除cookie

问题22:Attribute 和Property之间有什么区别

 ● Attribute——提供关于元素的更多细节,如id、类型、值等。

 ● Property —— 分配给属性的值,如type =“text”value ='Name'等。

问题23:列出在JS代码中访问HTML元素的不同方式

下面是在JS代码中访问 html 元素的方法列表:

 ● getElementById(‘idname’): 按id名称获取元素

 ● getElementsByClass(‘classname’): 获取具有给定类名的所有元素

 ● getElementsByTagName(‘tagname’): 获取具有给定标记名称的所有元素

 ● querySelector(): 此函数采用css样式选择器并返回第一个选定元素

问题24:JS代码在HTML文件中可以以多少种方式使用

主要有三种:

 ● 行内

 ● 内部

 ● 外部

行内方式:

...
<input type="button" value="点击有惊喜" onclick="javascript:alert('哈哈哈哈')">
...

内部方式:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script type="text/javascript">
//声明一个函数(整个文档都可以使用)
function surprise() {
alert('恭喜你中了一百万')/*弹出框*/
}
</script>
</head>
。。。
</html>

外部方式:

...
<!--很多html页面都可以调用js4.js页面-->
<script src="../../js/js4.js" type="text/javascript" charset="utf-8">
...

问题25:在JS中定义变量的方法有哪些

在 JS 中声明变量有三种方式:

 ● var – var 语句用于声明一个变量,咱们可以选择初始化该变量的值。例子:var a =10;变量声明在代码执行之前处理。

 ● const - 常量的值不能通过重新赋值来改变,并且不能重新声明。

 ● let - 语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值。

问题26:什么是类型化语言

类型化语言中,值与值关联,而不是与变量关联,它有两种类型:

  • 动态:在这种情况下,变量可以包含多种类型,如在JS中,变量可以取number, string 类型。
  • 静态:在这种情况下,变量只能包含一种类型,就像在Java中声明为string的变量只能包含一组字符,不能包含其他类型。
  • 问题27:Cookie 与 Local storage 与 Session storage 区别

    特性CookielocalStoragesessionStorage
    数据的生命期一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效除非被清除,否则永久保存仅在当前会话下有效,关闭页面或浏览器后被清除
    存放数据大小4K左右一般为 5MB
    与服务器端通信每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题仅在客户端(即浏览器)中保存,不参与和服务器的通信
    易用性需要程序员自己封装,源生的Cookie接口不友好需要程序员自己封装,源生的Cookie接口不友好 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持

    问题28: ‘==‘ 和 ‘===‘ 区别

    ==: 两边值类型不同的时候,要先进行类型转换,再比较。
    ===:不做类型转换,类型不同的一定不等。

    一言以蔽之:==先转换类型再比较,===先判断类型,如果不是同一类型直接为false

    问题29:null 和 undefined 区别

    undefined是基本数据类型 表示未定义 缺少的意思。

    null是引用数据类型,是对象,表示空对象

    undefined是从null派生出来的 所以undefined==nulltrue

    问题 30:undeclared 和 undefined 区别?

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

    问题 31: 列出一些JS框架

    3.png

    JS框架是用JavaScript编写的应用程序框架,它与控制流中的JS库不同,一些最常用的框架是:

     ● Vue

     ● Angular

     ● React

    问题 32: window 与 document 的区别:

    window:JS 的 window 是一个全局对象,它包含变量、函数、historylocation

    document:document也位于window之下,可以视为window的属性。

    问题 33: innerHTML 和 innerText 的区别

    innerHTML:也就是从对象的起始位置到终止位置的全部内容,包括Html标签。

    innerText:从起始位置到终止位置的内容, 但它去除Html标签

    问题 34:JS中的事件冒泡是什么

    事件冒泡是HTML DOM API中事件传播的一种方式,当一个事件发生在另一个元素中的一个元素中,并且两个元素都注册了该事件的句柄时。通过冒泡,事件首先由最内部的元素捕获和处理,然后传播到外部元素。执行从该事件开始,并转到其父元素。然后执行传递给父元素,以此类推,直到body元素。

    问题 35:NaN 是什么

    NaN 即非数值(Not a Number),NaN 属性用于引用特殊的非数字值,该属性指定的并不是不合法的数字。

    NaN 属性 与 Number.Nan 属性相同。

    提示: 请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。

    问题 36:JS的原始/对象类型如何在函数中传递?

    两者之间的一个区别是,原始数据类型是通过值传递的,对象是通过引用传递的。

     ● 值传递:意味着创建原始文件的副本。把它想象成一对双胞胎:他们出生的时候一模一样,但是双胞胎中的老大在战争中失去了一条腿,而老二却没有。

     ● 引用传递: 意味着创建原始文件的别名。当我妈妈叫沙雕的时候,虽然我的名字叫小智,但这并不是说我就突然就克隆了一个自己:我仍然是我,只是可以用不同名字来称呼我而已。

    问题 37:如何在JS中将任意基的字符串转换为整数

    parseInt(string, radix) 将一个字符串 string 转换为 radix 进制的整数, radix 为介于2-36之间的数,如下:

    parseInt("4F", 16)

    问题 38:2+5+ '3'的结果是什么

    由于25是整数,它们将以数字形式相加。因为3是一个字符串,它将与 7 拼接,结果是73。

    问题 39:export 和 import 是什么

    importexport有助于咱们编写模块化JS代码。 使用importexport,咱们可以将代码拆分为多个文件,如下:

    //------ lib.js ------</span>
    export const sqrt = Math.sqrt;</span>
    export function square(x) {</span>
    return x * x;</span>
    }
    export function diag(x, y) {
    return sqrt(square(x) + square(y));
    }
     
    //------ main.js ------</span>
     { square, diag } from 'lib';
    console.log(square(5)); // 25
    console.log(diag(4, 3)); // 5

    问题40:JS中的“严格”模式是什么以及如何启用?

    严格模式是在代码中引入更好的错误检查的一种方法。

     ● 当使用严格模式时,不能使用隐式声明的变量,或为只读属性赋值,或向不可扩展的对象添加属性。

     ● 可以通过在文件,程序或函数的开头添加“use strict”来启用严格模式

    问题41:JS 中的 prompt 框是什么

    提示框是允许用户通过提供文本框输入输入的框。 prompt() 方法显示一个对话框,提示访问者输入。 如果您希望用户在输入页面之前输入值,则通常会使用提示框。 弹出提示框时,用户必须在输入输入值后单击“确定”或“取消”才能继续。

    问题42:下面代码的输出是什么?

    var Y = 1;
    if (eval(function f(){}))
    {
     y += typeof F;
    }
    console.log(y);

    打印1undefinedif条件语句使用eval求值,因此eval(function f(){})返回函数f(){}(为真)。因此,在if语句中,执行typeof f返回undefined,因为if语句代码在运行时执行,而if条件中的语句在运行时计算。

    问题43:call 和 apply有什么区别

    callapply可以用来重新定义函数的执行环境,也就是this的指向;callapply都是为了改变某个函数运行时的context,即上下文而存在的,换句话说,就是为了改变函数体内部this的指向。

    call()调用一个对象的方法,用另一个对象替换当前对象,可以继承另外一个对象的属性,它的语法是:

    Function.call(obj[, param1[, param2[, [,...paramN]]]]);

    说明:call方法可以用来代替另一个对象调用一个方法,call方法可以将一个函数的对象上下文从初始的上下文改变为obj指定的新对象,如果没有提供obj参数,那么Global对象被用于obj

    apply()call()方法一样,只是参数列表不同,语法:

    Function.apply(obj[, argArray]);

    说明:如果argArray不是一个有效数组或不是arguments对象,那么将导致一个TypeError,如果没有提供argArrayobj任何一个参数,那么Global对象将用作obj。

    问题44:如何在JS中清空数组

    有许多方法可以用来清空数组:

    方法一:

    arrayList = []

    上面的代码将把变量arrayList设置为一个新的空数组。如果在其他任何地方都没有对原始数组arrayList的引用,则建议这样做,因为它实际上会创建一个新的空数组。咱们应该小心使用这种清空数组的方法,因为如果你从另一个变量引用了这个数组,那么原始的引用数组将保持不变。

    方法二:

    arrayList.length = 0;

    上面的代码将通过将其length设置为0来清除现有数组。这种清空数组的方式还会更新指向原始数组的所有引用变量。 因此,当你想要更新指向arrayList的所有引用变量时,此方法很有用。

    方法三:

    arrayList.splice(0, arrayList.length);

    这处方法也行,当然这种清空数组的方法也将更新对原始数组的所有引用。

    方法四:

    while(arrayList.length)
    {
     arrayList.pop();
    }

    上面的实现也可以空数组,但通常不建议经常使用这种方式。

    问题45:以下代码的输出什么

    var output = (function(x)
    {
     delete x;
     return x;
    }
    )(0);
    console.log(output);

    打印 0delete操作符用于从对象中删除属性。这里x不是一个对象,而是一个局部变量,删除操作符不影响局部变量。

    问题46:以下代码的输出什么

    var X = { foo : 1}; 
    var output = (function() 
    { 
     delete X.foo; 
     return X.foo; 
    } 
    )(); 
    console.log(output);

    输出 undefineddelete操作符用于删除对象的属性。X是一个具有foo属性的对象,由于它是一个自调用函数,所以咱们将从对象X中删除foo属性。这样做之后,当咱们试图引用一个被删除的foo属性时,结果是undefined

    问题47:以下代码的输出什么

    var foo = function Bar()
    {
     return 7;
    };
    typeof Bar();

    输出将是引用错误。函数定义只能有一个引用变量作为其函数名。

    问题49:为什么要将JS源文件的全部内容包装在一个函数中

    这是一种越来越普遍的做法,被许多流行的JS库所采用。 这种技术围绕文件的整个内容创建一个闭包,最重要的是,它可以创建一个私有命名空间,从而有助于避免不同JS模块和库之间潜在的名称冲突。

    该技术的另一个特性是允许为全局变量提供一个简单的别名,这在jQuery插件中经常使用。

    问题50:JS中的转义字符是什么

    JS转义字符使咱们能够在不破坏应用程序的情况下编写特殊字符。转义字符()用于处理特殊字符,如单引号、双引号、撇号和&号,在字符前放置反斜杠使其显示。

    如:document.write("I am a "good" boy")

    原文:https://hackr.io/blog/javascript-interview-questions

    为了保证的可读性,本文采用意译而非直译。

    本文来自 js教程 栏目,欢迎学习!

    热心网友 时间:2022-04-29 12:05

    这个可以到网上找一下呀!
    =========================================
    1、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制
    2、简述DIV元素和SPAN元素的区 别。
    3、结合text这段结构,谈谈innerHTML outerHTML innerText之间的区别。
    4、说几条XHTML规范 的内容(至少3条)
    5、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?

    答案:

    1、 sort的实现的功能类似JAVA的比较器,数据排序从*数组的第一维开始排序,可以自己定义排序方法,很不多的函数
    2、DIV有回 车,SPAN没有
    3、 innerHTML对象里面的HTML
    outerHTML包括对象和里面的HTML
    innerText对象里面的文本
    4、属性加引号,不能有不匹配的标签,加定义
    5、W3C标准等

    热心网友 时间:2022-04-29 13:23

    prototype
    对象声明/继承
    json/jsonp
    获取滚动条长度
    javascript变量作用域 var
    (function(){alert("1")})();//说说这个干什么用
    会用jquery吗?

    热心网友 时间:2022-04-29 14:58

    你问我答啊追问2、如何获得一个DOM元素的绝对位置?(获得元素位置,不依赖框架)
    3、如何利用JS生成一个table
    5、假设有一个4行td的table,将table里面td顺序颠倒;
    6、模拟一个HashTable类,包含有add、remove、contains、length方法
    7、Ajax读取一个XML文档并进行解析的实例
    8、JS如何实现面向对象和继承机制
    11、对this指针的理解,可以列举几种使用情况
    12、对JS中函数绑定的理解?函数绑定可以使用哪两个函数

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    为什么电脑上的word界面变小为什么WORD里面的页面变的很小怎么设置回来... AHA拯救心脏救命术(Basic Life Support,BLS) 基础生命的基本顺序 机械制图第一视角与第三视角的区别 明日之后野外感染者据点都在什么地方 感染就聚集点位置分享 明日之后 明日之后哪些地图有强力感染者? 《明日之后》野外感染者据点一览 明日之后野外感染者据点去哪找 妙洁提醒你注意:保鲜膜有些不能加热 有些不能包肉 C盘里文件的修改日期是不是就代表那天我用过电脑,我是上午用的,可文件... 如何查询湖南省地区的机动车驾驶证注销情况? JavaScript面试需要注意什么 我想查我的驾驶证还有多少分要怎么查.湖南邵阳的 关于js原型的面试题讲解 我的驾驶证是湖南省衡阳市的,我想问下有什么网站可以查驾驶证有没有年审 面试的时候 到底怎么说了解javascript 湖南省驾驶证年检怎么查,谁能告诉我呀 湖南驾驶证年审查询 湖南c1驾照扣分怎么查询 网上查驾驶证真伪查询我的驾驶证是湖南怎么可以看到真伪呢? 怎样查询湖南省营业性道路运输驾驶员从业资格证? 湖南的驾照怎么在网上查驾照扣分情况? 湖南省驾驶证查询怎么查 湖南驾驶证学时怎么查 湖南省益阳市支付宝搜什么可以查到摩托车驾驶证 青浦教育局举报老师的电话是多少 青浦区白鹤镇金项村九组拆迁吗 青浦区农村安置房拆迁协议中看出是数砖头还是人头 青浦盈港苑2021年拆迁们吗青浦盈港苑小区2021年会拆迁吗 青浦区五厍浜路大西街最新拆迁动向 湖南省公安厅换取国籍驾驶证查询电话 JavaScript:面试频繁出现的几个易错点 新拿到的驾驶证为什么在湖南公安平台查不到电子驾驶证的信息? www.hn122122.com湖南交通违法服务平台,这个是*机构还是企业机构? 金凤凰超级理财骗局,谁知道? 湖南省驾驶证邮寄怎么查 程序员面试时,Javascrip和Ajax都会被问一些什么问题 金凤凰接单平台是真是假 js面试题 需要用正则做的? 桐乡市申银万国金凤凰投资管理有限公司怎么样? 福建金凤凰资产管理有限公司怎么样? js的问题,面试别人问了我以下问题,js的执行原理是什么, 金凤凰理财投资可靠吗 面试问js原型怎么理解 金凤凰理财真相揭秘.金凤凰是不是传销.靠不靠谱 由此面试,面试官问我,js能做什么。我知道js是干什么用的,到底js能做... javascript的面试题。谁能帮我解释下,为什么第二题和第四题是那个答案... 金凤凰理财投资安全吗 深圳金凤凰财富管理中心有限公司怎么样? java 面试题用javascript和jquery 写出选择所有input标签