当前位置: 代码迷 >> 综合 >> day14(HTML5只需要写<!DOCTYPE HTML>、position:fixed;在ios下无效、闭包)
  详细解决方案

day14(HTML5只需要写<!DOCTYPE HTML>、position:fixed;在ios下无效、闭包)

热度:6   发布时间:2024-01-30 19:40:29.0

一、为什么HTML5只需要写<!DOCTYPE HTML>就可以?

因为 HTML5 与 HTML4 基于的基准不同。HTML4 基于 SGML 因此需要除了 DOCTYPE 外还需要引入 DTD 来告诉浏览器用什么标准进行渲染。DTD 还分为标准模式、严格模式。如果什么都不写,就完全让浏览器自我发挥,会变成怪异模式。

HTML5 不基于 SGML,因此后面就不要跟 DTD,但是需要 DOCTYPE 来规范浏览器的渲染行为。

注:SGML 是通用标记语言的集合。其中有 HTML、XML,因此需要用 DTD 来指定使用那种规范。

 

二、position:fixed;在ios下无效该怎么办?

https://blog.csdn.net/zyg1515330502/article/details/79207334

 

三、什么是闭包?优缺点分别是什么?

最简单的两个闭包例子

      // 闭包1(function(a){console.log(a) // 1})(1)
      // 闭包2function fn(){var a = 2return function(){console.log(a) // 2}}fn()()

闭包:可以访问另一个函数作用域的函数。由于 javascript 的特性,外层的函数无法访问内部函数的变量;而内部函数可以访问外部函数的变量(即作用域链)

闭包:在局部作用域引用上层作用域(非全局)的变量

优点:隐藏变量以及防止变量被篡改和作用域的污染,从而实现封装
缺点:由于保留了作用域链,会增加内存的开销。因此需要注意内存的使用,并且防止内存泄露的问题

      // 闭包3function fn1() {var b1 = 1var c1 = 2// 这个函数就是个闭包,可以访问外层 a 函数的变量return function() {var d1 = 3return b1 + c1 + d1}}console.log(fn1()()) // 6console.log(b1, c1, d1) // b1 is not defined

四、你最喜欢用哪些编辑器?喜欢它的理由是什么?

vscode个人非常喜欢,开源/免费就不说了,它的代码风格主题非常nice,不装插件是一个很舒服的编辑器,装了很多插件之后,就变成了很强的IDE,推荐使用vscode/webstorm,webstorm体积比较大,但是提示做的非常好,代码风格也比较nice,但是收费,需要购买/破解,所以这一点不太好

 

 

 

  相关解决方案