一,定时器【setTimeout和setInterval的区别】
timeout:(体育比赛中的)暂停;超时;
interval:间隔;间隙。
1.setimeout :使用setTimeout()开启的定时器,“时间”一到代码就会执行。
即用来指定某个函数或某段代码在多少毫秒之后执行。
2.setinterval :使用setInterval()开启的定时器,“时间间隔”一到代码就会执行一次。
即每隔一段时间执行一个函数。
// 案例:
setTimeout(function(){
console.log(123);
},2000)
setInterval(function(){
console.log( 'abc');
},2000)
(使用clearTimeout()和clearInterval () 可以清除定时器。)
setTimeout指定的代码,必须等到本次执行的所有同步代码都执行完,才会执行。
二,变量名命名规则
变量的名称须遵循如下3条规则:
1.首字母必须是字母(大小写均可) 、下划线( _ ),或者美元符号 ($),(数字开头,非法。)
2.余下的字符可以是下划线、美元符号、任意字母或者数字字符。
3.变量名不能是关键字 (keyword) 或者保留字。
三,字符串
四,数组
五,数组迭代方法
1.map数组遍历器
返回一个新数组
2.filter用给定条件过滤器
数组得到一个过滤后的新数组
3.forEach数组遍历器
不会得到新数组,只会改变数组
4. some判断数组中是否有元素符合给定条件
5.every判断是否所有元素符合过滤条件
6. findIndex返回第一个匹配的元素位置
7. reduce数组操作
六,请求方式
1)GET请求: 可以理解为“取”的意思。用来获取数据,不对服务器的数据做任何的修改、新增、删除等操作。
2)POST请求: 可以理解为“贴”的意思。数据发送到服务器以创建或更新资源,侧重于更新数据PUT请求: 可以理解为“放”的意思。数据发送到服务器以创建或更新资源,侧重于创建数据。
3)PUT请求:可以理解为“放”的意思,数据发送到服务器创建或更新资源,侧重于创建数据。
4)DELETE请求:“删除”。删除指定的资源。
5)HEAD请求: HEAD方法与GET方法相同,也是从服务器获取信息。但服务器不会返回请求的实体数据,只会传回相应头可以用在很多并不真正需要资源的场合,避免传输body数据的浪费。
例:比如,想要检查一个文件是否存在,只要发个信息HEAD请求就可以了,没有必要用GET把整个文件都取下来PATCH(布丁)请求: 用于上传数据并更新“部分”资源。
七,HTTP状态码
1开头的状态码 (信息类)
100,接收的请求正在处理
2开头的状态码 (成功类)
200,服务器已成功处理了请求。
3开头的状态码 (重定向)
301,永久性重定向。302,临时重定向
4开头的状态码 (客户端错误)
400,错误请求,服务器不理解请求的语法。403,服务器拒绝请求。
5开头的状态码 (服务器错误)
500,服务器内部错误,无法完成请求。503,服务器停机维护,无法处理请求
八,npm包管理
1) npm install 模块名: 本地安装。安装到当前项目的node_modules目录下,只有当前项目可以用此依赖.
2) npm instal[ 模块名-g:全局安装。电脑上的任何项目都可以使用这个依赖。
3) npm instal[ 模块名-save: 安装到node_modules目录下,一般安装生产环境所用依赖。如vue,element-ui。
4) npm instal 模块名-save -dev: 安装到node _modules目录下,一般安装开发环境所用依赖。如webpack、babel.
题目:
使用npm下载全局包的指令是 ( B
A.npm install 模块名(安装
B.npm install 模块名-g
C.npm unstall 模块名(删除
D.npm install模块名-save
九、相等(==)和全等(===)运算符
案例:
console.log( 6 == '6'); //true
console.log( 6 === '6'); //false
题目:
相等 (==) 和全 (===) 运算符有哪些区别?
相等运算符用于比较两个操作数是否相等,操作数会进行类型转换l2)全等运算符用于比较两个操作数是否严格相等,操作数不会进行类型转换,
十、数据类型
共有八种数据类型,分别是:underfined、null、bollean、number、string、object、sysbol、bigint。
这些数据类型分为基本数据类型和引用数据类型
1.基本数据类型和引用数据类型区别
在方法中定义的非全局基本数据类型的具体内容是存储在栈中的。
引用数据类型变量,其具体内容都是存放在堆中的,而栈中存放的是具体内容所在的内存地址
2.基本类型和引用类型
基本类型:Undefined、Null、Boolean、Number和String,基本类型在内存中占据空间小、大小固定,他们的值保存在栈(stack)空间。
引用类型:(对象、数组、函数),引用类型占据空间大、大小不固定,栈内存中存放地址纸箱堆(heap)内存中的对象。
十一、localStorage和sessionStorage区别?
localStorage:没有过期时间。
sessionStorge:当用户关闭浏览器后,数据将被删除。
十二、ES6新特性
let和const、模块化、箭头函数、解构赋值、模板字符串、Promise、Map和Set数据结构、装饰器..
var有变量提升。
十三、同步操作和异步操作
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
而同步处理则与之相反,需要一件事完成之后才能走另外一件事,不能“分心”
举例:
异步处理-小明一边吃西瓜一边看电视;
同步处理-小明吃完了西瓜再去看电视;
题目:
如何理解同步和异步?
1、同步指两个进程的运行是相关的,一个进程要阻塞等待另外一个进程的运行
2、异步的意思是两个进程毫无相关。发送完一个请求,不必等待返回。
十四、闭包
闭包(closure)是一种代码形式,内部函数访问外部函数的局部变量。
在JS中,每当创建一个函数,闭包就会在函数创建的同时被创建出来,作为函数内部与外部连接起来的一座桥梁。
举例:JS函数A里面有一个函数B,函数B访问了函数A里面定义的局部变量,此时就产生了闭包。变量所在的函数就是闭包函数,这里A就是闭包函数
作用:解决变量污染问题,让变量别函数保护起来
十五、fs模块
node提供了一个内置模块fs,专门用来操作文件。可以读取一个文件的内容,也可以把内容写入到一个文件。
导入模块:require('模块名')
读取文件:fs.readFile('文件的路径',(err,data) => { } )
写入文件:fs.writeFile('文件的路径',写入的内容,err => { } )
追加文件内容:fs.appendFile('路径','要追加的内容',err => { } )
拷贝文件:fs.copyFile('要拷贝的文件路径','目标文件的路径')
删除文件:fs.unlink('文件路径',err => { } )
十六、HTML
1.Promise?
目的:解决异步编程中回调地狱的问题,将异步操作以同步操作的流程表达出来,避免层层嵌套的回调函数。
用法:调用promise.then()方法,then方法可以接受两个回调函数函数作为参数。成功,就会执行.then方法的第一个回调函数。失败,就会执行then方法的第二个回调函数。
2.异步编程的实现形式?
回调函数的方法。
Promise对象。
async/await函数。
十七, 对JSON的理解?
JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串
要实现JSON字符串转换为JS对象,使用JSON.parse()方法。
要实现JS对象转换为JSON字符串,使用JSON.stringify()方法。
十八,Promise的基本用法?
Promise.resolve 方法: (value) =>[ () value: 成功的数据或 promise 对象
说明: 返回一个成功/失败的 promise 对象。
Promise.reject 方法: (reason) => ] () reason: 失败的原因
说明: 返回一个失败的 promise 对象
十九,对AJAX的理解? 实现一个AJAX请求?
AJAX全称(Async Javascript and XML),即异步的JavaScript 和XML,
是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下与服务器交换数据,并且更新部分网页。
let xhr = new XMLHttpRequest;
xhr.open(“请求方式’,请求地址’ );
Ixhr.οnlοad=function(){请求成功后的回调函数}:
xhr .send()