1、原型链 任何对象都有一个原型对象,这个原型对象由对象的内置属性_proto_指向它的构造函数的prototype指向的对象, 即任何对象都是由一个构造函数创建的,但是不是每一个对象都有prototype,只有方法才有prototype。 juejin.cn/post/684490… 2、JS数据类型 原始类型(基本数据类型) string number boolean null undefined 对象类型(引用数据类型是) object function array data
转换方法:toLocaleString()、toString()和valueOf()方法
重新排序方法:sort() reverse()
位置方法:indexof() lastIndexof()
迭代方法:forEach() map() some() every() filter()
操作方法:concat():先创建当前数组一个副本,然后将接收到的参数,添加到这个副本的末尾,最后返回新构建的数组
splice():删除 插入 替换
slice():
3、JS为什么单线程 浏览器的脚本语言。主要就是和用户互动以及操作dom,这决定了他只能是单线程,多线程需要共享资源,否则会带来很多的同步问题,可能会发生矛盾的操作。 使用event loop实现异步:就是在程序中设置两个线程:一个负责程序本身的运行,称为"主线程"; 另一个负责主线程与其他进程(主要是各种I/O操作)的通信,被称为"Event Loop线程"(可以译为"消息线程")。
4、箭头函数This指向问题 默认指向在定义它时,它所处的对象,而不是执行时的对象,定义它的时候,可能环境是window(即继承父级的this)。 在全局函数中,this 等于window,而当函数被作为某个对象的方法调用时,this 等于那个对象。
5、闭包 闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数,
6、BOM:浏览器对象模型 DOM:文档对象模型
7、ES,ECMAScript,是JS的一个标准,现在是ES6
8、AJAX,异步JavaScript和XML XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。variable=new XMLHttpRequest(); 请求:如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: 响应:如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。
9、JSON:JSON指的是JavaScript对象表示法(JavaScript Object Notation)。JSON是轻量级的文本数据交换格式,比XML更小、更快、更易解析。
10、https:TLS(SSL)加密
11、get和post: 1. Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的。 2. Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。 3. Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。 4. Get执行效率却比Post方法好。Get是form提交的默认方法。 5. get请求组类似于查找过程,可以不用每次都与数据库连接,所以可以使用缓存。post做的一般是修改和删除,必须与数据库交互,所以不能使用缓存
12、块级元素和行内元素:
块级:霸占一行,不与其他任何元素并列。能接受宽高,如果不设置宽度,那么宽度将默认变为父级的100%。
行内:与其他行内元素并排, 不能设置宽高,默认的宽度就是文字的宽度
13、匿名函数:
14、五层结构: 物理层、链路层、网络层(IP)、运输层(TCP、UDP)、应用层(HTTP、FTP)
15、Http无状态 cookies和session www.zhihu.com/question/19…
16、blog.csdn.net/y_silence_/… blog.csdn.net/mei0515/art… www.nowcoder.com/discuss/174… segmentfault.com/a/119000001…
17、清除浮动
18、跨域 juejin.cn/post/684490… 协议、域名、端口都相同 跨域资源共享:CORS
19、ES6: es6.ruanyifeng.com/
20、事件冒泡:div-body-html-document 事件捕获:document-html-body-div 事件委托:使用事件委托,只需在DOM 树中尽量最高的层次上添加一个事件处理程序
1、CSS3新特性 www.runoob.com/css3/css3-t…
2、label标签
3、如何直接定义一个100长度的数组(构造函数): var arrays=new Array(100) 逆序输出数组
4、flex布局: www.ruanyifeng.com/blog/2015/0…
5、箭头函数优点: www.jianshu.com/p/a5c68ff26…
6、解析URL内容: segmentfault.com/a/119000002… juejin.cn/post/684490…
7、如何存储用户信息(除cookies外)(token?)
8、表单设置用户无法修改项: onfocus=this.blur() www.cnblogs.com/long_/archi…
9、CSS伪元素
10、alt和title区别: alt:全称为alttext,实质是当图片无法正确显示时用于替换(在IE下同时起到了title的作用,即鼠标滑过时文字提示); title:鼠标经过时文字提示,可在重要的图片(logo)或用户会体验到的图片内容加上;
11、promise: 是一个构造函数
1、状态码: www.runoob.com/http/http-s…
2、前端安全问题(XSS等): insights.thoughtworks.cn/eight-secur…
3、Http请求方法 get post put的区别: www.runoob.com/http/http-m…
4、页面性能优化: juejin.cn/post/684490… 代码压缩、async异步加载、利用浏览器缓存
5、css优先级别: www.runoob.com/w3cnote/css…
6、多个小图合并(canvas): www.cnblogs.com/cangqinglan…
7、块级、行内元素 的 margin等
8、ES6新特性 var与let、const、箭头函数 juejin.cn/post/684490…
9、cookies,js可以访问cookies吗,提高cookie安全性: www.jianshu.com/p/3104e83de… 安全:有效期不要过长、加密、HttpOnly设置为true,可以防止js脚本读取cookie信息,有效的防止XSS攻击。
10、浏览器缓存:
11、在地址栏输入URL,回车后都发生了什么: juejin.cn/post/684490… 12、三次握手四次挥手: juejin.cn/post/684490…
13、js获得浏览器类型和版本: segmentfault.com/a/119000000…
14、网络结构和协议: blog.csdn.net/qq_22238021…
15、js排序算法: juejin.cn/post/684490…
16、HTTP协议的 “无连接,无状态” blog.csdn.net/tennysonsky…
17、js数组去重: segmentfault.com/a/119000001…
18、HTTP缓存: www.cnblogs.com/chenqf/p/63… developer.mozilla.org/zh-CN/docs/…
19、js操作cookies: www.runoob.com/js/js-cooki…
20、instanceof只能用来判断对象和函数,不能用来判断字符串和数字等
21、深拷贝和浅拷贝 caibaojian.com/javascript-…
22、双向绑定原理
23、call reply bind baijiahao.baidu.com/s?id=161712…
24、DOM事件流 blog.csdn.net/qr457535344…
25、JS数据类型判断 blog.csdn.net/zjy_android…
26、重绘和回流 www.jianshu.com/p/e081f9aa0…
27、JS垃圾回收机制:标记清除、计数引用 www.jianshu.com/p/c19038bab…
28、JavaScript执行顺序分析 segmentfault.com/a/119000001…
29、浏览器为内核:www.jianshu.com/p/f4bf35898…
30、HTML5语义化标签:blog.csdn.net/qq_41229582…