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

image.png

JavaScript 对象、属性和方法

Array Date eval function hasOwnProperty Infinity isFinite isNaN isPrototypeOf length Math NaN name Number Object prototype String toString undefined valueOf

image.png

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 关键字必须以字母、下划线(_)或美元符($)开始。

image.png

3.比较表达式

image.png

4.判断为0

image.png

5.result的值

image.png

6.result的值

image.png

7.value的值

image.png

8. 函数值

image.png

9.result的值

image.png

10.返回前一个浏览的页面

back()方法,加载 history 列表中的前一个 URL。

语法:

window.history.back();

比如,返回前一个浏览的页面,代码如下:

window.history.back();

back()相当于go(-1),代码如下:

window.history.go(-1);

在HTML文档对象模型中,history对象的()用于加载历史列表中的下一个URL页面。

forward()

11.结果

image.png

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值

image.png

image.png

都为undefined

16. 求值

image.png

image.png

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]);
  }
 }
}

image.png

image.png

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;
});

image.png

for(var i=0; i<arr.length; i++){
    if(arr[i] == arr[i+1]){
        arr.splice(i,1);
        i--;
    }
}
console.log(arr);

image.png


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏marsggbo

【转载】完全理解Python迭代对象、迭代器、生成器

在了解Python的数据结构时,容器(container)、可迭代对象(iterable)、迭代器(iterator)、生成器(generator)、列表/集合...

13300
来自专栏小闫笔记

GIL锁、深浅拷贝、模块导入和上下文管理器

模块在搜索时,根据 sys 模块中定义的 path 变量中保存的路径进行搜索

6720
来自专栏指尖下的Android

OkHttp3.0 拦截器、调度器源码解析

聊一个框架的源码,我们先从它的用法说起,通过OkHttp来请求网络一般不外乎通过以下两种方式 : 1、异步回调网络请求

16320
来自专栏算法与编程之美

开发|Springboot文件上传与下载

我们在做项目的时候很多时候会涉及到操作文件的步骤,今天我们就来讲讲如何实现Springboot文件上传与下载。

11920
来自专栏xyjincan

tomcat 崩溃疑问笔记

版权声明:本文为博主原创文章,转载请保留出处 ...

14930
来自专栏7DGroup

性能工具之Jmeter压测Hprose RPC服务

源代码:https://github.com/hprose/hprose-java

15520
来自专栏小闫笔记

第一天内容

1.多进程中创建的子进程会将主进程中所有的资源数据拷贝一份,包括GIL锁,每个进程中只有一个主线程,那么就不会存在线程之间的资源竞争问题了。

9430
来自专栏小闫笔记

框架学习前期知识点回顾

ajax其实就是jQuery中的一个函数而已,它依赖于http协议,默认支持异步传输数据和局部刷新。此处的异步指的是ajax可以在发送数据的时候同时接收数据。它...

7650
来自专栏Android补给站

What? 你还不知道Kotlin Coroutine?

今天我们来聊聊Kotlin Coroutine,如果你还没有了解过,那么我要提前恭喜你,因为你将掌握一个新技能,对你的代码方面的提升将是很好的助力。

13110
来自专栏算法与编程之美

前端|浅探NPM

Gradle和Maven都是Java Web项目的构建工具,当然还有Ant,Gradle还作为Android项目的官方构建工具。

9730

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励