什么是浏览器内核?px、em 和 rem 的区别?new 操作符具体干了什么?

简介: 通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。

一省:HTML

9. 什么是浏览器内核?浏览器内核有哪些?

浏览器内核: 通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。

常见的浏览器内核:

  1. Gecko:早期被Netscape和Mozilla Firefox浏览器浏览器使用;
  2. Trident:微软开发,被IE4~IE11浏览器使用,但是Edge浏览器已经转向Blink;
  3. Webkit:苹果基于KHTML开发、开源的,用于Safari,Google Chrome之前也在使用;
  4. Blink:是Webkit的一个分支,Google开发,目前应用于Google Chrome、Edge、Opera等;

二省: CSS

9. CSS 单位中 px、em 和 rem 的区别?

  1. px是像素(pixel)的意思,绝对单位。像素 px 是相对于显示器屏幕分辨率而言的,是一个虚拟长度单位,是计算机系统的数字化图像长度单位;
  2. em是相对长度单位,会随着父元素字体大小改变而改变。
  3. rem是相对单位,会随着根元素字体大小改变而改变。
    <html lang="en">
    <head>
    <style>
     html {
          
          
       font-size: 30px;
     }
     .father {
          
          
       font-size: 10px;
     }
     .son {
          
            
       width: 10em;
       height: 10em;
       background: tomato;
     }
     .bro {
          
          
       width: 10rem;
       height: 10rem;
       background: skyblue;
     }
    </style>
    </head>
    <body>
    <div class="father">
     <div class="son"></div>
     <div class="bro"></div>
    </div>
    </body>
    </html>
    

三省:JavaScript

9. new 操作符具体干了什么?

  1. 创建一个空对象。
  2. 将新对象的proto赋值为构造函数的prototype属性。
  3. 将this指向新对象,执行构造函数内部的代码。
  4. 如果构造函数返回非空对象,则返回该对象,否则返回this。
    //使用new操作符
    function Person(obj) {
         
         
    this.name = obj.name;
    this.age = obj.age;
    }
    const p1 = new Person({
         
         
    name: "Jack",
    age: 20
    })
    console.log(p1);//Person {name: 'Jack', age: 20}
    
    //不使用new来实现
    function Person(obj) {
         
         
    var o = {
         
         }
    o.__proto__ = this.Person.prototype
    o.name = obj.name;
    o.age = obj.age;
    return o
    }
    const p2 = Person({
         
         
    name: 'Mick',
    age: 18
    })
    console.log(p2);//Person {name: 'Mick', age: 18}
    
相关文章
|
JavaScript 前端开发
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
88 0
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
|
Web App开发
【已解决】浏览器无法设置小于12px的字体大小(font-size)
浏览器无法设置小于12px的字体大小(font-size)
390 0
|
Web App开发 前端开发
前端:让Chrome浏览器支持小于12px 的文字方式
前端:让Chrome浏览器支持小于12px 的文字方式
113 0
|
14天前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
32 0
|
2月前
|
JavaScript 前端开发
js之浏览器对象|28
js之浏览器对象|28
|
25天前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
234 0
|
3月前
|
机器学习/深度学习 人工智能 前端开发
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
使用TensorFlow.js在浏览器中进行情感分析是一个非常实用的应用场景。TensorFlow.js 是一个用于在JavaScript环境中训练和部署机器学习模型的库,使得开发者能够在客户端直接运行复杂的机器学习任务。对于情感分析,我们可以使用预先训练好的模型来识别文本中的积极、消极或中性情感。
84 4
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
|
3月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
45 1
|
3月前
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
84 1
|
3月前
|
自然语言处理 资源调度 JavaScript
JS 逆向基础篇:JS作用域和浏览器对象属性补环境
JS 逆向基础篇:JS作用域和浏览器对象属性补环境
133 1