JavaScript 面试问题 FAQ - 1

JavaScript是一种脚本或编程语言,主要目的是增加网页互动性和创建网络应用。
它是面向对象的解释性程序语言。与HTML和CSS并列,JavaScript是World Wide Web三个核心技术之一。
得到最广泛的浏览器支持,包括Chrome, Firefox, Safari, internet Explorer, Edge, Opera, 等等。
大部分智能手机的移动浏览器同样支持JavaScript。

JavaScript最早称为LiveScript。
它是由Netscape公司在九十年代中期开发的。
第一个JavaScript引擎是由Netscape的Brendan Eich为Netscape Navigator Web浏览器创建的。

根据最新ECMAScript版本,以下是Javascript支持的数据类型:

  1. Boolean
  2. Null
  3. Undefined
  4. Number
  5. String
  6. Symbol
  7. Object

JavaScript和jscript的设计目的都是为了使得网页更具动态性。
JavaScript是Netscape Communications开发的一种脚本语言,旨在开发客户端和服务器Internet应用程序。
JScript是依ECMAScript脚本语言规范的Microsoft方言。
微软反向设计Javascript并称其为JScript,以避免Sun的商标问题。
JavaScript是ECMAScript编程语言与访问Web浏览器窗口和文档对象模型(DOM)的一些方法相结合的常用条款。
它用于开发客户端和服务器应用程序。主要关注页面在触发JavaScript代码后应如何反应。

Javascript有五种原生数据类型:

  1. Number
  2. String
  3. Boolean
  4. Undefined
  5. Null

  1. Object
  2. Date
  3. Array

变量的域是由变量声明的位置控制,并定义了程序中可访问变量的部分。
JavaScript有两种域:全局和本地。 在函数外部声明的任何变量都属于全局域,因此可以从代码中的任何位置访问。
在函数定义中声明的变量是本地的。
每次执行函数时都会创建和销毁它,并且函数外部的任何代码都无法访问它。

是的,JavaScript是大小写敏感的语言。

example

"This" is not same as "this"

  1. Alert Box
  2. Confirm Box
  3. Prompt Box

外部JavaScript文件的扩展名为.js。当在许多不同的网页中使用相同的代码时,外部脚本是有用的。
这是将外部javascript文件加入到HTML中的方法。

<script type="text/javascript" src="myscript.js"></script>

这里的"myscript.js"是你的外部JavaScript文件。

可以用反斜杠"\"放在末尾,以打断代码行,实现换行。

alert ( "Good morning halo world!!");

注意,这种反斜杠方法不是首选,也可能不被普遍支持.

使用document.write(),你可以在屏幕上打印文本。

JavaScript有两种注释符号。 单行注释// 和多行注释,开始用/* 并且结束用 */。

例子

//这是单行注释
/*这是一个多行
的例子*/

是的。 ECMAScript 2015引入了const关键字,但到目前为止它只得到小部分浏览器支持。

const CONSTANT_VAR = "some-value";

JavaScript是一种松散型的语言; 变量的类型只在分配值时确定,并且可以随着变量出现在不同的上下文中而更改。
这就是说可以将JavaScript变量重新分配任何类型的值,因此不需要显式地表示变量的类型或函数的返回类型。
在分配或重新分配变量时,JavaScript会自动调整数据类型。

x=100
x='1000'

“===”运算符是二进制逻辑运算符,用于检查这两个值是否相同且是否具有相同的数据类型。
即使它们的值相等但它们的数据类型不同,它也会返回false。
例如:555和'555',因为值相同,但它们不是相同的数据类型,因此===将返回false。

例子

var1=555
var2='555'
b = (var1===var2);

上面代码返回false

原生数据类型

  1. String
  2. Number
  3. Boolean
复合数据类型
  1. Object
  2. Array
特殊数据类型
  1. Null
  2. Undefined

在JavaScript, undefined意思是一个变量没有被声明并且也没有被赋值,例如:

var undefinedThis;
alert(undefinedThis); //显示 undefined
alert(typeof undefinedThis); //显示 undefined

null是一个赋值,它可以赋值给一个变量,表示没有值:

var nullValue = null;
alert(nullValue); //显示 null
alert(typeof nullValue); //显示 object

JavaScript更快一些。 Java脚本是为客户端编写的,它不需要Web服务器的执行支持。
它可以立即执行,也可以在某些事件发生时执行。
ASP是服务器端语言,因此它需要Web服务器的帮助,这是一个耗时的过程。
因此,发送请求并从服务器返回响应需要一些时间。

document.getElementById("ctrl").disabled = true;

禁用的元素无法使用并且无法单击。 默认情况下,在浏览器中,禁用元素通常以灰色显示

启用

document.getElementById("ctrl").disabled = false;

如果要访问HTML页面中的任何元素,需要从文档对象开始。 用 id="foo"查找元素:

var myElement = document.getElementById("foo");

getElementById()方法用指定的ID返回对应的元素。

JavaScript中的窗口对象表示浏览器中打开的当前窗口。
它包含与当前浏览器窗口相关的信息。
所有的全局JavaScript对象,函数和变量都自动成为窗口对象的成员。

原因是Windows阻止了一个窗口或框架访问另一个域中的某个窗口或框架。

<script> alert('Your browser is : ' + navigator.appName + " " + navigator.appCodeName); </script>

<script>
var myWindow = window,
doc = document,
elem = doc.documentElement,
body = doc.getElementsByTagName('body')[0],
width = myWindow.innerWidth+elem.clientWidth+body.clientWidth,
height = myWindow.innerHeight+elem.clientHeight+body.clientHeight;
alert(width + " X " + height);
</script>

窗口对象还有一个屏幕对象,其中包含描述物理显示的属性。
它可以用于显示屏幕宽度,高度,颜色深度,像素深度等。

<script> alert("Screen Width: "+screen.width + " Screen Height " + screen.height); </script>

JavaScript提供了表单对象,包含submit()等方法。 您可以通过表单属性(如id,name,class,tag 名称)执行javascript表单提交。

document.getElementById("thisForm").submit();

encodeURI()函数用于编码URI。它假定输入是一个完整的URI,可能有一些需要编码的字符。
如果将结果传递给decodeURI,则返回原字符串。

onDocumentReady允许在仅构建DOM树时就执行代码,
无需等待图像加载完毕,而window.onload需要等待所有资源完成加载,
例如图像和脚本。

JavaScript cookie是存储在系统中的小型文本文件,当用户访问网站需要存储他们的信息时,它就会被创建。
例如,以前访问的用户名详细信息和购物车信息。

Cookie是计算机上存储在小文本文件中的数据。
JavaScript可以使用Document对象的cookie属性来操作cookie。
JavaScript可以读取,创建,修改和删除属于当前网页的cookie。

没有,JavaScript没有概念级别的域。 函数内声明的变量就是函数内部域。

valueOf()方法用于获取字符串对象的原始值。 此值等效于String.prototype.toString()。

JavaScript的parseInt()函数,可以将任何基数的字符串转换为javascript中的整数。

例子

ParseInt('string',Base(optional))

Base(可选): 2到36之间的整数,表示上述字符串的基数(数学数字系统中的基数)

例子

var x = parseInt("1000", 10);
原文链接

JavaScript 介绍

JavaScript 基础

JavaScript: 文档对象模型

JavaScript 编程