Javascript Interview Questions函数详

首页 / JavaScript入门教程 / Javascript Interview Questions函数详

尊敬的读者,这些 JavaScript面试问题是专门设计的,目的是让您熟悉在 JavaScript 主题的面试过程中可能遇到的问题的性质。根据我的经验,优秀的面试官几乎不会计划在面试过程中提出任何特定的问题,通常,问题是从该主题的一些基本概念开始的,后来根据进一步的讨论和您的回答,这些问题会继续存在:

JavaScript是一种轻量级的,解释性的编程语言,具有面向对象的功能,使您可以将交互性构建到其他static HTML页面中。

该语言的通用核心已嵌入到Netscape,Internet Explorer和其他Web浏览器中。

以下是JavaScript的功能-

  • JavaScript是一种轻量级的解释型编程语言。

  • JavaScript旨在创建以网络为中心的应用程序。

  • JavaScript是Java的补充和集成。

  • JavaScript是HTML的补充和集成。

  • JavaScript是开放的且跨平台的。

以下是使用JavaScript的优势-

  • 更少的服务器交互-您可以在将页面发送给服务器之前验证用户输入。这样可以节省服务器Stream量,这意味着服务器上的负载更少。

  • 对访问者的即时反馈-他们不必等待页面重新加载即可查看是否忘记了输入内容。

  • 增强的交互性-您可以创建界面,当用户将鼠标悬停在界面上或通过键盘激活界面时会做出反应。

  • Richer界面-您可以使用JavaScript包含诸如拖放组件和滑块之类的项目,以向网站访问者提供Rich Interface。

我们不能将JavaScript视为成熟的编程语言。它缺少以下重要功能-

  • 客户端JavaScript不允许读取或写入文件。出于安全原因已保留了此密码。

  • JavaScript无法用于网络应用程序,因为没有此类支持。

  • JavaScript没有任何多线程或多进程功能。

是! JavaScript是区分大小写的语言。这意味着语言关键字,变量,函数名称和任何其他标识符必须始终以一致的大写字母键入。

JavaScript非常支持对象概念。您可以使用对象文字来创建对象,如下所示:

var emp={
   name: "Zara",
   age: 10
};

您可以使用点符号来编写和读取对象的属性,如下所示:

//Getting object properties
emp.name  //==> Zara
emp.age   //==> 10
//Setting object properties
emp.name="Daisy"  //<== Daisy
emp.age=20      //<== 20

您可以使用数组文字来定义数组,如下所示:

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

数组的长度属性对于迭代很有用。我们可以如下读取数组的元素-

var x=[1, 2, 3, 4, 5];
for (var i=0; i < x.length; i++) {
   //Do something with x[i]
}

命名函数在定义时具有名称。可以使用function关键字定义命名函数,如下所示:

function named(){
   //do some stuff here
}

JavaScript中的函数可以命名或匿名。

可以使用与普通函数类似的方式定义匿名函数,但是它没有任何名称。

是!可以将匿名函数分配给变量。

是!匿名函数可以作为参数传递给另一个函数。

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

使用typeof运算符,我们可以获得传递给函数的参数类型。例如-

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

使用arguments.length属性,我们可以获取传递给函数的参数总数。例如-

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

arguments对象具有一个callee属性,该属性引用您所在的函数。例如-

function func() {
   return arguments.callee; 
}
func();                //==> func

JavaScript著名关键字始终引用当前context。

变量的范围是程序在其中定义的区域。 JavaScript变量只有两个范围。

  • 全局变量-全局变量具有全局范围,这意味着它在JavaScript代码中的任何位置都可见。

  • 局部变量-局部变量仅在定义了局部变量的函数中可见。函数参数始终在该函数本地。

局部变量优先于具有相同名称的全局变量。

回调是作为参数或options传递给某些方法的普通JavaScript函数。一些回调只是事件,被调用以使用户有机会在触发特定状态时做出反应。

每当从某个内部范围内访问在当前范围之外定义的变量时,都会创建闭包。

以下示例显示了变量计数器在创建,增量和打印函数中如何可见,但在函数外部却不可见-

function create() {
   var counter=0;
   return {
      increment: function() {
         counter++;
      },
  
      print: function() {
         console.log(counter);
      }
   }
}
var c=create();
c.increment();
c.print();     //==> 1

charAt()方法返回指定索引处的字符。

concat()方法返回指定索引处的字符。

forEach()方法为数组中的每个元素调用一个函数。

indexOf()方法返回指定值首次出现的调用String对象内的索引;如果未找到,则返回-1。

length()方法返回字符串的长度。

pop()方法从数组中删除最后一个元素并返回该元素。

push()方法将一个或多个元素添加到数组的末尾,并返回数组的新长度。

reverse()方法反转数组元素的顺序-第一个变为最后一个,而最后一个变为第一个。

sort()方法对数组的元素进行排序。

substr()方法以指定的字符数返回从指定位置开始的字符串中的字符。

toLowerCase()方法返回转换为小写形式的调用字符串值。

toUpperCase()方法返回转换为大写形式的调用字符串值。

toString()方法返回数字值的字符串表示形式。

在JavaScript中命名变量时,请记住以下规则。

您不应将任何JavaScript保留关键字用作变量名。下一节将提到这些关键字。例如,break或boolean变量名称无效。

JavaScript变量名称不应以数字(0-9)开头。它们必须以字母或下划线字符开头。例如,123test是无效的变量名,而_123test是有效的变量名。

JavaScript变量名称区分大小写。例如,Name和name是两个不同的变量。

typeof是一元运算符,位于其单个操作数之前,可以是任何类型。它的值是一个字符串,指示操作数的数据类型。

如果typeof运算符的操作数是数字,字符串或布尔值,则其计算输出为"数字","字符串"或"布尔值",并根据计算输出返回true或false。

它返回"对象"。

JavaScript也可以使用Document对象的cookie属性来操作cookie。 JavaScript可以读取,创建,修改和删除适用于当前网页的一个或多个cookie。

无涯教程网

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

语法-

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

这里过期属性是options。如果您为该属性提供有效的日期或时间,则cookie将在给定的日期或时间过期,并且之后将无法访问cookie的值。

读取cookie就像编写cookie一样简单,因为document.cookie对象的值就是cookie。因此,只要您想访问cookie,就可以使用此字符串。

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

您可以使用字符串的split()函数将字符串分为键和值。

有时您会想要删除cookie,以便后续尝试读取cookie不会返回任何内容。为此,您只需要将到期日期设置为过去的某个时间。

在客户端使用JavaScript进行页面重定向非常简单。要将您的网站访问者重定向到新页面,只需在标题部分添加一行,如下所示:

<head>
<script type="text/javascript">
<!--
   window.location="http://www.newlocation.com";
//-->
</script>
</head>

JavaScript帮助您使用窗口对象的打印功能来实现此功能。 JavaScript打印函数window.print()在执行时将打印当前网页。

Date对象是JavaScript语言内置的数据类型。使用新的Date()创建Date对象。

创建Date对象后,可以使用多种方法对其进行操作。大多数方法仅允许您使用本地时间或UTC(通用或GMT)时间来获取和设置对象的年,月,日,时,分,秒和毫秒字段。

Number对象表示数字日期,可以是整数或浮点数。通常,您无需担心Number对象,因为浏览器会自动将数字文字转换为数字类的。

语法-

创建一个数字对象-

var val=new Number(number);

如果参数不能转换为数字,则返回NaN(非数字)。

最新版本的JavaScript添加了异常处理功能。 JavaScript实现了try ... catch ... finally构造以及throw操作符来处理异常。

您可以捕获程序员生成的异常和运行时异常,但是不能捕获JavaScript语法错误。

onerror事件处理程序是促进JavaScript错误处理的第一个功能。只要页面上发生异常,就会在窗口对象上触发error事件。

onerror事件处理程序提供三条信息,以识别错误的确切性质-

  • 错误消息-浏览器针对给定错误将显示的相同消息。

  • URL-发生错误的文件。

  • 行号-给定URL中导致错误的行号。

下一步是什么 ?

此外,您可以浏览过去完成的与该主题相关的作业,并确保您能够自信地对它们发表讲话。如果您是新手,那么面试官不会期望您会回答非常复杂的问题,而是必须使您的基本概念非常扎实。

第二,如果您不能回答几个问题,那实际上并不重要,但是无论您回答了什么,您都必须自信地回答,这很重要。因此,在面试中要感到自信。我们在learnfk上祝您好运,有一位优秀的面试官,并祝您未来事业一切顺利。欢呼声:-)

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

数据结构与算法之美 -〔王争〕

黄勇的OKR实战笔记 -〔黄勇〕

跟着高手学复盘 -〔张鹏〕

Spring编程常见错误50例 -〔傅健〕

性能优化高手课 -〔尉刚强〕

手把手带你写一个Web框架 -〔叶剑峰〕

eBPF核心技术与实战 -〔倪朋飞〕

自动化测试高手课 -〔柳胜〕

云原生架构与GitOps实战 -〔王炜〕

好记忆不如烂笔头。留下您的足迹吧 :)