1、DOM
文档也是一个节点,文本也是一个节点,属性也是一个节点
appendChild();
insertBefore();
removeChild();
replaceChild();
2、 为什么 TCP 建立连接需要三次握手,而不是两次?这是因为这是为了防止出现失效的连接请求报文段被服务端接收的情况,从而产生错误。
3、href和src的区别
https://blog.csdn.net/annsheshira23/article/details/51133709
4、var,let,const的区别
https://www.jianshu.com/p/84edd5cd93bd
https://www.cnblogs.com/zhaoxiaoying/p/9031890.html
https://www.cnblogs.com/echolun/p/10575676.html
若子作用域没有let i,那么就会继承父作用域的i;若子作用域let i了,则父作用域和子作用域的i完全是两个变量
const和let一样没有变量提升,而且const设置的是常量。并且都是块级作用域,只作用于当前代码块。都是es6的
5、双大括号和v-bind
数据绑定方式
https://blog.csdn.net/u013912696/article/details/97539327
6、CSS优先级
https://m.html.cn/qa/css3/13463.html
7、回调函数
a函数作为参数被其他函数调用,返回值为a函数
特点:不会马上执行
https://www.jb51.net/article/134549.htm
8、闭包
一个函数中定义一个新的函数
链式作用域
这里有一个地方需要注意,函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!
闭包的用处:一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
原因就在于f1是f2的父函数,而f2被赋给了一个全局变量,这导致f2始终在内存中,而f2的存在依赖于f1,因此f1也始终在内存中,不会在调用结束后,被垃圾回收机制(garbage collection)回收。
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
9、position
https://blog.csdn.net/weixin_40615146/article/details/86569378
absolute https://blog.csdn.net/tengliu6/article/details/52088743
fixed https://www.cnblogs.com/coco1s/p/7358830.html
子元素absolute的时候,父元素要relativehttps://blog.csdn.net/win32fanex/article/details/83655917
10、直接递归
直接递归会超时,因为调用栈会越来越多。
11、防抖
https://segmentfault.com/a/1190000018428170
https://blog.csdn.net/hupian1989/article/details/80920324
12、原型链
https://www.cnblogs.com/loveyaxin/p/11151586.html
https://blog.csdn.net/xiaoermingn/article/details/80745117
13、浏览器是多线程、js是单线程
浏览器:js引擎线程、渲染线程、http请求线程、settime之类的
js:js代码始终在一个线程上执行、此线程被称为js引擎线程
https://blog.csdn.net/github_34514750/article/details/76577663
https://www.cnblogs.com/z-one/p/8522908.html
14、线程和进程的区别
https://www.zhihu.com/question/25532384
15、BFC
https://blog.csdn.net/sinat_36422236/article/details/88763187
16、行级元素和块级元素的区别,什么是inline-block
https://www.cnblogs.com/cui-ting/p/9884060.html
vertical-align、text-align
17、Js的数据类型有7种
Number、String、Boolean、undefined、null、object
ES6新增一种:Symbol
基本类型:String、Number、Boolean、undefined、null
引用类型:object中包含function、Array、Date
https://blog.csdn.net/u013592575/article/details/95087953
18、箭头函数和普通函数的区别
https://blog.csdn.net/qq_42258904/article/details/110083064
https://blog.csdn.net/weixin_34392843/article/details/91433451?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-3.control
19、MVVM
主要实现了View和Model的自动同步,让两者双向绑定,当View发生变化时Model也能跟着变化。
简单介绍前端MVC/MVVM模式特点及区别_巨大星星星的博客-CSDN博客_mvvm模式和mvc的区别
20、本地跨域
https://www.cnblogs.com/nolaaaaa/p/9126385.html
https://www.npmjs.com/package/http-server
21、Ajax
jQuery的id选择器
${’#btn1’}
22、工厂模式、单例模式
工厂模式JavaScript设计模式——工厂模式 - 有梦想的咸鱼前端 - 博客园 (cnblogs.com)
单例模式JavaScript 设计模式(一):单例模式 - SegmentFault 思否
23、防抖
24、相等运算符== 和 全等运算符===
(1 封私信 / 80 条消息) Javascript 中 == 和 === 区别是什么? - 知乎 (zhihu.com)
相等运算符的缺点:
'' == '0' //false
0 == '' //true
0 == '0' //true
false == 'false' //false
false == '0' //false
false == undefined //false
false == null //false
undefined == null //true
'\t\r\n' == 0 //true
[]==0 //true
[]=='0' //false
'0'==[] //false
{}==0 //报错,把{}当成代码块了,等于写了个{};
({}==0) //false
0=={} //false
数值本身不改变类型,只是比较的时候会改变类型
25、判断数据类型的方法
typeof
instanceof
constructor
Object.prototype.toString
26、深拷贝、浅拷贝的区别及深拷贝的实现
js浅拷贝与深拷贝的区别和实现方式 - 简书 (jianshu.com)
27、setTimeout和setInterval的定时器:
Timeout的定时器,在匿名函数执行完以后就停止了,但是还保留着,所以要clearTimeout
Interval的定时器会一直计时,要clearInterval
setInterval()和clearInterval() 用法_依然谈笑春风-CSDN博客
n=3;
var s = setInterval(function(){
alert('2s');
n--;
if(n==0)
{
clearInterval(s);
}
},2000);
setTimeout("changeState()",3000 );
function changeState(){
let content=document.getElementById('content');
content.innerHTML="<div style='color:red'>我是三秒后显示的内容!</div>";
}
document对象是window对象的一部分
js中万物皆对象,甚至数组字符串函数都是对象
别人控制的用props,自己控制的用data(){}
模板字符串:${}
var str1=“my name is”+person.name+"/nmy age is"+person.age;
上式可以写成以下这种形式,双引号变反引号,要添加的变量的位置,用${}代替,大括号内可以使用任何表达式
var str2=my name is ${person.name}
利用bfc,左边浮动并且定宽(width:250px),右边宽度100%,overfloat:hidden;
https://blog.csdn.net/C05230/article/details/109477796?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control