每日思考(2020/01/15)

题目概览

  • DOM和BOM有什么区别?
  • 让网页的字体变得清晰,变细用CSS怎么做?
  • 写一个方法把0和1互转(0置1,1置0)

题目解答

DOM和BOM有什么区别?

  • DOM 是 Document Object Model 的缩写。即文档对象模型,遵循 W3C 制定的标准。提供了独立于内容而与浏览器窗口进行交互的对象。描述了与浏览器进行交互的方法和接口,可以对浏览器窗口进行访问和操作,譬如可以弹出新的窗口,改变状态栏中的文本。其本质就是 DOM 元素。最早使用的 document.getElementById 获取到的对象就是 DOM 对象。利用 JS 操作某个 DOM 的颜色、形状、大小都是对 DOM 元素的操作。在代码上可以理解为 document 开头的方法和属性
  • BOM 是 Browser Object Model 的缩写。即浏览器对象模型,这并没有一套规定标准,每个浏览器都有自己的实现DOM 是针对 HTML 的基于树的 API。描述了处理网页内容的方法和接口,是 HTML 的API,DOM 把整个页面规划成由节点层级构成的文档。但事实上在大部分主要的功能上都已经形成默契。BOM 主要操作浏览器的行为,比navigatorlocationhistorystorage 都为 BOM 的操作。其根对象是 window,可以理解为 winodw 开头的方法
  • 关系:DOM 在 BOM 之内,只有 JS 的宿主环境是浏览器的时候才有 DOM 和 BOM ,在 Node 中是没有这两个对象的

让网页的字体变得清晰,变细用CSS怎么做?

  • font-weight + font-family:font-weight 来控制粗细还是需要看对应的字体有没有对应的变种字体。因此这就和 font-family 相关。

  • -webkit-font-smoothing:这个属性是 Chrome 的抗锯齿属性。加上后会显得细一些,但是只针对 webkit 内核的浏览器才有效

    -webkit-font-smoothing: antialiased
    -moz-osx-font-smoothing: grayscale
    text-shadow: 1px 1px 1px 1px rgba(0,0,0,0.005)
    text-rendering: optimizeLegibility

写一个方法把0和1互转(0置1,1置0)

//方法一
const reverse = x => +!x
//方法二
const convert = num => num ^ 1;
//方法三
const reverse = x => ~x+2

猜你喜欢

转载自www.cnblogs.com/EricZLin/p/12199325.html
今日推荐