### js中的事件传播流程
···
捕获阶段,事件源阶段,冒泡阶段
onclick和addEventListener('click',function(){},false)
事件阻止
target和currentTarget的区别
target表示触发事件标签,currentTarget便是绑定的事件标签
### 闭包
···
function中可以存在另一个function,在其内部生成一个局部的作用域。
在function外部可以直接访问这个function的变量
### 原型和原型链
···
在js中对象都有一个饮食的原型__proto__
function对象有一个显示的原型prototype
在js通过__proto__可以找到此对象的原型,逐层查找知道找不到的时候位置
### 跨域和本地储存
···
是否遇见过跨域:没有,公司给调好了
cookie,localstorage,sessionstorage
cookie每一次和服务器交互都会在请求头中传递给服务器,4K,可以自己设置过期时间
localstorage一直存在,除非手动删除,最大5M
sessionstorage跟localstorage一样,唯一事件是储存时间不一样
### ajax请求
异步的javascript和xml。是一种客户端和服务器的通讯技术
原生js实现ajax请求:XmlHttpRequest
### 同步跟异步
···
同步:阻塞模式,代码执行到时会等待比较耗时长
异步是非阻塞模式:代码会一直执行,当比较耗时的操作完成后会触发回调函数
### es6 新增
···
module,class,const,let,箭头函数,generate生成器,模板字符串,解构赋值,拓展运算符
es6继承:声明子类 extends 父类名 就继承父类了
const和let有什么区别,const变量不能改,let变量可以改
### promise
···
promise是es6中新增的一个对象,用来解决function的回调地域问题。
我们可以通过then进行监听成功的回调,catch监听失败的回调函数,
promise对象状态改变后不可逆
new Promise((resolve,reject)=>{
promise.all =》 promise全部对象完成之后触发
promise.race =》 只要有一个完成就触发
})
### 回调函数
···
回调函数定义:在js中function可以当作参数传递给另一个方法,在其中进行调用
### this指向问题?function和箭头函数有什么区别
···
this默认指向window对象
箭头函数没有自己的this,指向和上下文(context)中的this指向相同
改变this指向方法
1.定义一个that
2.通过bind方式改变
3.通过call和apply
bind和call和apply区别
bind只改变this指向,不会执行方法
call和apply改变this指向并执行方法
call和apply区别:传递的参数形式不一样
### 什么是面向对象?
···
面向对象的三大基本特征:封装,继承,多态
把所有内容都当作对象来处理
// var obj = new Object();
### 模块加载方案,amd,cmd,cmmonjs
···
amd:异步加载,依赖前置,require.js
cmd:sea.js
commonjs:nodejs中的加载方案
### bom,dom区别
···
document.getElementById
document.getElementsByClassName
document.getElementsByName
document.getElementByTagName
document.querySelector
document.querySelectorAll
### bom对象
···
alert
console
history
navigator
### 怎么判断当前用户的访问来源(客户端的浏览器信息)
···
navigator.userAgent//用户代理,可以获取当前用户的浏览器和操作系统信息
### 怎么获取用户的gps坐标
···
navigator...
navigator.geolocation =》使用navigator.geolocation来获取用户的地理位置信息
https://blog.csdn.net/weixin_30412167/article/details/97362565
### 常见的元素选择器有哪些?
数据类型有哪些,区别
···
一般数据类型和复杂数据类型
string boolean null number object undefined symbol
### 数组的常见的操作方法有哪些?
···
push pop shift unshift
map forEach reduce filter find findIndex sort aplice
### json和js对象怎么转换
···
JSON.stringify(jsonstr);//可以将json对象转换成json对符串
JSON.stringify
JSON.parse(jsonstr); //可以将json字符串转换成json对象
JSON.parse
### jQuery中的元素选择方式有哪些?
···
jQuery('css选择器')
# 怎么添加对象
···
.on 事件委托
.bind
.事件名
#jQuery插件 有哪些?
轮播图、分页、懒加载、模态窗等
#自定义插件
jQuery.extend //这个可以在jquery对象直接调用
jQuery.fn.extend //只能在元素选择器选中的实例之上执行
# ajax 请求的封装
···
$.ajaxSetup
# http请求 常见的状态码,post和get区别? 请求报文
···
200:请求成功
301:重定向
400000=》一般是客户端错误
401:未授权
403:无权访问
404:页面找不到
500000=》一般是服务器出错
502:服务器错误
503:服务器错误
### 怎么实现图片上传?
···
input 设置input="file"
### 数组去重,排序
···
数组去重,循环老数组中的每一项插入到新数组中
let arr = [1, 2, 2, 3, 4, 5];
let set = new Set(arr);
let arrset = [...set];
console.log(arrset);
···
排序:sort
let arr = [2,1,5,4,3]
console.log(arr.sort(function (a,b) {
return a-b
}));
网友评论