Day17:web前端开发面试题
1.JavaScript 数据类型有哪些?
JavaScript 变量能够保存多种数据类型:数值、字符串值、数组、对象等等:
var length = 7; // 数字
var lastName = "7"; // 字符串
var cars = ["1", "2", "3"]; // 数组
var x = {firstName:"1", lastName:"2"}; // 对象
复杂数据
typeof 运算符可返回以下两种类型之一:
function
object
typeof {name:'1', age:2} // 返回 "object"
typeof [1,2,3,4] // 返回 "object"
typeof null // 返回 "object"
typeof function myFunc(){} // 返回 "function"
原始数据
typeof 运算符可返回以下原始类型之一:
string
number
boolean
undefined
Undefined 与 Null 的区别
Undefined 与 null 的值相等,但类型不相等
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
实例
var person = null; // 值是 null,但是类型仍然是对象
undefined 清空对象:
实例
var person = undefined; // 值是 undefined,类型是 undefined
空值
空值与 undefined
var car = ""; // 值是 "",类型是 "string"
Undefined
在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。
任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。
typeof 运算符对数组返回 “object”,因为在 JavaScript 中数组属于对象。
JavaScript 布尔值
布尔值只有两个值:true 或 false。
JavaScript 数组
JavaScript 数组用方括号书写。
数组的项目由逗号分隔。
JavaScript 数值
JavaScript 只有一种数值类型。
JavaScript 字符串值
字符串(或文本字符串)是一串字符
JavaScript 基本数据类型
基本数据类型有五种:字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)。
复合数据类型
对象(Object)、数组(Array)、函数(function)。
JavaScript基本数据类型
(1)数值类型
(2)布尔类型
(3)字符串类型
(4)Undefined类型
(5)Null类型
2.JavaScript 保留关键字有哪些?
JavaScript 保留关键字
Javascript 的保留关键字不可以用作变量、标签或者函数名。
abstract arguments boolean break byte
case catch char class* const
continue debugger default delete do
double else enum* eval export*
extends* false final finally float
for function goto if implements
import* in instanceof int interface
let long native new null
package private protected public return
short static super* switch synchronized
this throw throws transient true
try typeof var void volatile
while with yield
[外链图片转存失败(img-X5cOzGEk-1564283235118)(https://upload-images.jianshu.io/upload_images/11158618-a581a35e2c7816c0.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
JavaScript 对象、属性和方法
Array Date eval function hasOwnProperty
Infinity isFinite isNaN isPrototypeOf length
Math NaN name Number Object
prototype String toString undefined valueOf
[外链图片转存失败(img-gAEpGYNe-1564283235122)(https://upload-images.jianshu.io/upload_images/11158618-58c954e4814ac40e.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
JavaScript 所有关键字:
break
case
catch
continue
default
delete
do
else
finally
for
function
if
in
instanceof
new
return
switch
this
throw
try
typeof
var
void
while
with
throw 与 try…catch…finally:操作异常
in:与for 一起使用用于遍历对象的属性名
instanceof :返回的是布尔值,而typeof 返回的是几种数据类型的字符串值。
JavaScript 关键字
JavaScript 关键字必须以字母、下划线(_)或美元符($)开始。
[外链图片转存失败(img-DxKXLnPs-1564283235123)(https://upload-images.jianshu.io/upload_images/11158618-e1e19dcf10615316.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
3.比较表达式
[外链图片转存失败(img-wRgnoYrE-1564283235139)(https://upload-images.jianshu.io/upload_images/11158618-dbe3532079d22f38.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
4.判断为0
[外链图片转存失败(img-a8UYgnLC-1564283235142)(https://upload-images.jianshu.io/upload_images/11158618-6e63985bfa1e1648.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
5.result的值
[外链图片转存失败(img-pQiYJVSx-1564283235144)(https://upload-images.jianshu.io/upload_images/11158618-cfdeec32503f5b19.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
6.result的值
[外链图片转存失败(img-N1JnCLVw-1564283235145)(https://upload-images.jianshu.io/upload_images/11158618-ad348f55a1d0b7ee.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
7.value的值
[外链图片转存失败(img-8igAsooG-1564283235148)(https://upload-images.jianshu.io/upload_images/11158618-3e6518ae861bb30b.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
8. 函数值
[外链图片转存失败(img-3iFeGdnn-1564283235153)(https://upload-images.jianshu.io/upload_images/11158618-ca204f3336d57a6e.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
9.result的值
[外链图片转存失败(img-QleKkxyW-1564283235154)(https://upload-images.jianshu.io/upload_images/11158618-304cd64be7e7f46d.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
10.返回前一个浏览的页面
back()方法,加载 history 列表中的前一个 URL。
语法:
window.history.back();
比如,返回前一个浏览的页面,代码如下:
window.history.back();
back()相当于go(-1),代码如下:
window.history.go(-1);
在HTML文档对象模型中,history对象的()用于加载历史列表中的下一个URL页面。
forward()
11.结果
[外链图片转存失败(img-bFT1heaX-1564283235155)(https://upload-images.jianshu.io/upload_images/11158618-d6937d120edef9bd.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
Math.floor
document.write(Math.floor(0.6) =0
document.write(Math.floor(1.40) =1
求一个最接近它的整数,它的值小于或等于这个浮点数
12.常见的HTTP状态码(HTTP Status Code)
常见状态吗:400(请求无效),401(需要权限),500(服务器错误)
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
readyState
XMLHttpRequest对象的status属性状态吗
200 服务器正常处理了请求并响应
404 请求的页面(资源)没有找到
403 没有权限访问请求的页面(资源)
405 页面(资源)不接收该请求方式
408 请求超时
500 服务器处理请求时遇到错误(可能因为应用程序抛出异常导致)
502 上游服务器和网关/代理不同意的协议交换数据
503 服务器暂时不可用
XMLHttpRequest的属性与状态码
XMLHttpRequest对象有一个属性可以获得服务器传回的HTTP状态码
onreadystatechange:
每次状态改变所触发事件的事件处理程序
readyState:对象状态值
responseText:从服务器进程返回的数据的字符串形式
status:从服务器返回的数字代码
responseXML:从服务器进程返回的数据的字符串形式
13.cookie的生存周期的关键字
cookie对象的Expires属性用来设置当前cookie的存活时间。
在默认情况下,cookie是临时存在的。在一个浏览器窗口打开时,可以设置cookie,只要该浏览器窗口没有关闭,cookie就一直有效,而一旦浏览器窗口关闭后,cookie也就随之消失。
为cookie设置一个生存期
所谓生存期也就是cookie的终止日期,在这个终止日期到达之前,浏览器随时都可以读取该cookie。一旦终止日期到达之后,该cookie将会从cookie文件中删除。
14.数组用什么方法可以将数组中的元素连成一个字符串
join() 方法用于把数组中的所有元素放入一个字符串
15.x值
[外链图片转存失败(img-YFu9kkTo-1564283235158)(https://upload-images.jianshu.io/upload_images/11158618-12454639ac05bc21.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
[外链图片转存失败(img-yYimj8ax-1564283235159)(https://upload-images.jianshu.io/upload_images/11158618-5825eedef9b84c2c.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
都为undefined
16. 求值
[外链图片转存失败(img-Bdi8tgbf-1564283235160)(https://upload-images.jianshu.io/upload_images/11158618-b08e05db2cabaa3a.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
[外链图片转存失败(img-Tmrztspr-1564283235165)(https://upload-images.jianshu.io/upload_images/11158618-3883befea30c8672.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
17.数组去除数组中重复的元素
Array.prototype.method1 = function() {
var arr=[];
for(var i = 0; i<this.length; i++) {
if(arr.indexOf(this[i] == -1) {
arr.push(this[i]);
}
}
}
[外链图片转存失败(img-t5CE4ymB-1564283235167)(https://upload-images.jianshu.io/upload_images/11158618-e5060aa50cd7b7e0.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
[外链图片转存失败(img-1pZHDaUP-1564283235170)(https://upload-images.jianshu.io/upload_images/11158618-a71a5ae1cfa707be.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
javaScript实现去除数组中重复的元素
1.先排序
2.遍历数组每个元素
3.让前一个元素与后一个元素相比较,若相等,删除前一个
4.每次删除元素会使数组长度减一,再次循环时会少对比一个 ,所以删除后i–
var arr=[11,32,3,4,2,32,4,12,3,11,23];
arr.sort(function(x,y){
return x-y;
});
[外链图片转存失败(img-Tlv98dj3-1564283235171)(https://upload-images.jianshu.io/upload_images/11158618-bc6504739e7889d1.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
for(var i=0; i<arr.length; i++){
if(arr[i] == arr[i+1]){
arr.splice(i,1);
i--;
}
}
console.log(arr);
[外链图片转存失败(img-7tVnTbXz-1564283235175)(https://upload-images.jianshu.io/upload_images/11158618-a5611e1e86dc4cee.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。
请点赞!因为你们的赞同/鼓励是我写作的最大动力!
欢迎关注达叔小生的简书!
这是一个有质量,有态度的博客
[外链图片转存失败(img-JJzTsePp-1564283235176)(https://upload-images.jianshu.io/upload_images/11158618-9ab0d3fef85d80ce?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]
Day17:web前端开发面试题的更多相关文章
- 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
##2017.10.30收集 面试技巧 5.1 面试形式 1) 一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2) 面试官喜欢什么样的人 ü 技术好. ...
- 【编码题篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
编写一个方法 求一个字符串的字节长度假设:一个英文字符占用一个字节,一个中文字符占用两个字节 function GetBytes(str){ var len = str.length; var byt ...
- web前端开发面试题(Vue.js)
1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么获取传过来的动态参数? ...
- web前端开发面试题(答案)
1.xhtml和html有什么区别? HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套.XHTML 元素必须被关闭.标签名必须 ...
- Web前端开发面试题
1. 以下的代码有问题吗?如果有你觉着应该如何修改? for(int i=0; i<list.size(); i++) { ..... ..... if(...) { list.re ...
- Web前端开发面试题赋答案
第一部分:用CSS实现布局 让我们一起来做一个页面 首先,我们需要一个布局. 请使用CSS控制3个div,实现如下图的布局. 第二部分:用javascript优化布局 由于我们的用户群喜欢放大看页面 ...
- web前端开发面试题(附答案)-3
1.用纯css创建一个三角形的原理: .demo{ width:0; height: 0; border: 5px solid transparent; border-left-color: red; ...
- web前端开发面试题(附答案)-1
1.浏览器中输入url到网页显示,整个过程发生了什么 域名解析 发起tcp三次握手 建立tcp连接之后发起htttp请求 服务器端响应http请求,浏览器得到html代码 浏览器器解析html代码,并 ...
- web前端开发面试题(未完待续)
一.HTML与XHTML的不同:1)XHTML元素必须被正确地嵌套 2)元素必须被关闭 如:<h1>--</h1>关闭 3)标签名必须用小写字母 4)XHTML文档必须有根 ...
随机推荐
- MongoDB和Java(7):MongoDB用户管理
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- 关于定义变量名为"name"的坑!!!
昨天下午没有什么工作可做,闲来无事就上博客园看看了,有个问题让我一直很纳闷. 直接上代码吧: 再用表达式创建函数时遇到的问题,这里的代码按照正常逻辑只有那个在变量定义后面的函数执行打印的值才是&quo ...
- Windows上安装ElasticSearch7的IK分词器
首先IK分词器和ES版本一定要严格对应,下面是版本对照表 IK分词器下载地址 https://github.com/medcl/elasticsearch-analysis-ik/releases 我 ...
- Alpha_4
一. 站立式会议照片 二. 工作进展 (1) 昨天已完成的工作 a. 我的·主界面设计 b. 番茄钟的页面及音乐选择弹窗页面设计 c. 实现自定义习惯和设置新习惯的功能页面,并可预览 d.已实现番茄钟 ...
- k8s资源清单基础
资源清单介绍 创建资源的方法 apiserver仅接收JSON格式的资源定义 yaml格式提供配置清单 apiserver可自动把yaml转换成json格式数据 资源清单五个一级字段 1.ap ...
- Java枚举类和注解梳理
1. 枚举类 1. 枚举类的使用 枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类. 当需要定义一组常量时,强烈建议使用枚举类. 如果枚举类中只有一个对象,则可以作为单例模式的实现方式. ...
- 解决加载WEB页面时,由于JS文件引用过多影响页面打开速度的问题
1.一般做法 一般我们会把所有的<script>元素都应该放在页面的<head>标签里,但由于是顺序加载,因此只有当所有JavaScript代码都被依次下载.解析和执行完之后, ...
- 排序接口与抽象类(java)
定义一个ISort接口,方法有升序(sortAsc),有降序(sortDesc),传入参数是一个实现Comparable接口的对象数组,即不仅仅只对数字排序,还定义了两个默认方法: compare方法 ...
- 解决shiro多次从redis读取session的问题
/** * 重写sessonManager * 解决shiro多次从redis读取session的问题 */ public class CustomSessionManager extends Def ...
- Kotlin调用Java程序解析
Kotlin跟Java是百分百兼容的,换言之,也就是它们俩是可以互操作的,也就是Java可以调Kotlin,Koltin可以调Java,所以下面来看一下在Kotlin中如何来调用Java代码: 咱们来 ...