1、SSR和CSR
1.SSR Server Side Render 是服务端渲染有Serve php页面 需要卸载刷新页面
2.CSR Client Side Render 是客户端渲染 h5页面 不需要卸载刷新页面
2、DOM、BOM、ECMAScript分别指哪些部分
1.所有操作html标签的js代码是DOM操作
2.所有的浏览器的js 是BOM操作
3.除了这些以外所有的js就是ECMAScript
3、什么是web服务,地址格式是什么,什么是IP和端口,为什么使用web服务打开网页
IP:port o.o.o.o-255.255.255.255
part端口号 不同的端口号对应不同的服务
js当中很多不支持本地打开 必须使用web服务打开网页
4、网页渲染的过程
1.创建网页 DOM树
2.创建css树
3.合并DOM渲染树
4.网页中所有加载完成的内容
5、浏览器修复错误标签,把script写在html外面的原因
1.head 不能调用body标签
2.body 可以调用head中的scripr中内容和当前以上的内容
3.htmI以外错误的当前网页中的DOM树完成后会修复将错溴标签那到html中
4.写在外面经浏览器修复后,会放在body最后,可以应用之前的内容
6、什么是同步,什么是异步,那些标签默认是异步
1.同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
2.异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。
3.async属性、defer属性:异步模式
7、javascript分别有几种使用方法
1.行内式
2.内嵌式
3.外链式
8、script中async和defer分别是什么,script引入js默认是什么执行顺序
1.async(异步加载) 异步完成 DOM树创建完成后就可以执行了
2.defer(延迟执行) 页面内容加载完成后
9、超链接和点击事件如何执行js的,当执行函数名时,为什么写在后面的函数在上面调用不会报错
1,会发生预解析,在执行到一个作用域的时,会先将这个作用域中的var定义的变量和函数在栈中声明,并且开辟空间。等到调用的时候实际已经声明过了
10、什么是行内注释,什么是块注释
11、块注释有哪些功能
1.又叫做多行注释,作用范围是选中的多行。注释代码,解释代码的功能。
12、函数注释必须包括哪些部分
1.方法和函数注释写在前面,通常需要标明的信息主要是可见性、参数类型和返回值的类型。
2.作者,创建时间。修改者,修改时间,修改内容。
13、文件头注释必须包括哪些部分
1.文件注释通常放在整个js文件头部,其内容包括文件版权、作者、编写日期、版本号等重要信息。
保存文件的时候,自动更新最后的编辑时间和编辑人。
14、列举出console中认识的方法
console.log(1); 打印日志
console.dir(2); 将字面量的对象以对象方式展示
console.error(3); 打印错误信息
console.info("这条信息"); 展示信息
console.table(obj); 表格型态打印数据
15、alert、confirm、prompt分别做什么的,有没有返回值
1.alert是弹出警告 无返回值
2.confirm是弹出确定或者取消 返回值true 或 false
3.prompt弹出一个输入框 返回值 输入的数据
16、什么是重绘,什么是回流,当页面第一次渲染完成后做了什么
1.如果交互后改变了元素的属性并没有引起样式大小等和内容的改变,背景色,会产生重绘
2.如果交流后修改了元素的样式比如大小定位等等操作的是时候会产生回流回流意味着重新生成DOM树和css然后重新DOM树渲染,回流比重绘消耗性能很大
3.加载页面
17、什么是断点,如何操作断点
1.断点能帮你在代码中有效的检查代码的错误执行顺序使用断电有两种办法,在浏览器中控制带查看源代码,操作断电,第二种是在vs中运行启动调试快捷键
18、document.body ,document.head , document.title 分别是什么
1.document.body body标签
2.document.head
3.document.title
19、document.getElementById,document.getElementsByClassName,document.getElementsByTagName分别做什么的
1.根据id标签获取当前页面中的标签元素
2.根据class标签获取当前页面中的标签列表
3.根据标签名获取列表
20、innerHTML和innerText有什么区别
1.innerHTML 获取内容,能解析字符串
2.innerText 获取文本,
21、document.body.innerHTML和document.write的区别
1.document. write是重写整个document,写入内容是字符串的html
2.innerHTML是HTMLElement的属性,是一个元素的内部html内容
3.这两个是添加一个dom对象到body中的方法
22、document.write为什么会在点击执行后造成页面内容全部丢失
1.document.write是重写整个document,写入内容是字符串的html
2.innerHTML是HTMLElement的属性,是一个元素的内部html内容
23、点击事件如何写
1. .onclick(){}
2. .click(){}
24、什么东西存储在栈中
1.数值、布尔值、字符值存储在栈中
25、使用var和不使用var有什么区别,为什么
ES6之前可以不用var定义变量,没有使用var定义不会预解析不使用var定义开始并没有存在栈中
1.使用var声明变量,在方法内部是局部变量,在方法外部是全局变量
2.没有使用var声明的变量,在方法内部或外部都是全局变量,但如果是在方
26、变量定义的要求和规范
1.必须使用怎么开头,一般使用小写,S_ 字母可以声明变量开头表示是临时变量
2.规范进制使用汉族,保留字,因为变量都会存储在window,所以不能定义与window对象下的属性和方法同名的
27、为什么定义变量status是一个数值型,结果却变成了字符串
1.statue的属性是字符串,最后演变成字符串拼接
28、什么是预解析
1.当执行到一一个作用域时,会预先将这个作用域中的var定义的变量和函数,在栈中声明,并且开辟空间
29、大量定义变量时,应该怎么定义
例:var a1=1,
a2=2,
a3=3
30、什么是常量,常量怎么定义,常量有什么要注意的地方
例:const
1.常量是程序中的一个值,他保持不变,在执行过程中不会改变。
2.常量仅可以第一次赋值,不能修改变
3.常量命名使用全大写字母,区分单词
4.常量如果定义为引用类型,则无法删除