尊敬的读者,这些 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上祝您好运,有一位优秀的面试官,并祝您未来事业一切顺利。欢呼声:-)
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)