前端基础

一、基本任务
1*. 讨论知识网图中的概念,并阐述概念之间的逻辑关系,取得一致意见。
2. 每个HTML文件开头都有,它的作用是什么?

的作用是定义当前文档的类型和版本,确保文档能够按照标准规范进行解析和渲染,提高页面的兼容性和可靠性。
  1. 简述一下 src与 href 的区别。
    src 属性用于指定外部资源(如图像、音频、视频、框架等)的地址,通常用在 、

visibility 属性:通过 visibility 属性可以控制元素的可见性,常用的取值包括:
visible:元素可见。
hidden:元素不可见,但仍保留空间。

opacity 属性:通过 opacity 属性可以控制元素的透明度,取值范围为 0(完全透明)到 1(完全不透明)。

position 属性:通过 position 属性可以控制元素的定位方式,结合 top、right、bottom、left 属性可以将元素定位到屏幕之外,实现隐藏效果。

  1. 行内元素和块级元素的具体区别是什么?行内元素的 padding 和 margin 可设置吗?
    块级元素:独占一行、宽度默认是父元素的100%,高度默认由内容撑开,可以设置宽度、高度、内外边距和边框等样式。
    行内元素:一行可以显示多个,宽度和高度默认由内容撑开,不可以设置宽高,设置了也不会生效,垂直方向上的padding和margin设置了也不会生效

  2. 列出 display 的值,并说明他们的作用。
    display 属性用于指定元素的显示方式,常见的取值包括:

block:将元素转换为块级元素,独占一行,可以设置宽度、高度、内外边距和边框。
inline:将元素转换为行内元素,不独占一行,宽度由内容决定,不能设置宽度、高度、垂直方向的内外边距和边框。
inline-block:将元素转换为行内块元素,具有行内元素和块级元素的特性,可以设置宽度、高度、内外边距和边框。
none:隐藏元素,不显示在页面上,不占据空间。
flex:将元素显示为弹性盒子,用于灵活布局,适用于响应式布局和复杂布局结构。
grid:将元素显示为网格容器,用于网格布局,提供更强大的布局能力。

  1. Js都有哪些事件,如何实现事件的绑定,事件的移除以及事件的切换?
    窗口事件、表单事件、键盘事件、鼠标事件、媒体事件、触摸事件、拖拽事件

使用HTML元素的事件属性绑定事件、使用使用 addEventListener方法来绑定事件

使用 removeEventListener 方法移除事件、使用THML元素的on事件属性设置为 null:

如果要实现事件的切换,即根据某些条件来添加或移除事件监听,可以结合上述的事件绑定和事件移除方法来实现。
二、进阶任务

  1. 主流浏览器的内核分别是什么?

Microsoft Edge浏览器内核为:Blink
2. 说一下 ES6 中你熟悉的一些内容 ?
ES6(ECMAScript 2015)是 JavaScript 的一个重要版本,引入了许多新特性和语法改进,使得 JavaScript 更加现代化、强大和易用。以下是我熟悉的一些 ES6 中的内容:
let 和 const 声明:let 和 const 用于声明变量,let 声明的变量具有块级作用域,而 const 声明的变量是常量,不可重新赋值。
箭头函数:箭头函数是一种更简洁的函数定义方式,可以省略 function 关键字和 return 关键字,并且自动绑定 this。
模板字符串:使用反引号(`)定义字符串模板,可以在其中插入变量和表达式,使得字符串拼接更加直观和方便。
解构赋值:可以通过解构赋值从数组或对象中提取值并赋给变量,简化了变量赋值的操作。
展开运算符:使用三个点(…)可以将数组、对象或字符串展开为独立的元素,方便在函数调用、数组拼接等操作中使用。
Promise 对象:Promise 是一种用于处理异步操作的对象,可以更加优雅地处理回调地狱问题,提供了 then、catch、finally 等方法。
类和继承:ES6 引入了类的概念,通过 class 关键字可以定义类,支持面向对象的编程方式,并且可以使用 extends 实现类的继承。
模块化:ES6 提供了模块化的语法,使用 import 和 export 可以方便地管理模块之间的依赖关系,有助于代码的组织和维护。
迭代器和生成器:ES6 引入了迭代器(Iterator)和生成器(Generator)的概念,使得对数据集合的遍历和操作更加灵活和高效。
三、延申思考

  1. BFC 是什么?
    BFC 是 CSS 中的一个重要概念,指的是块级格式化上下文(Block Formatting Context)。BFC 定义了一个独立的渲染区域,其中的元素按照特定的规则进行布局,不会影响到外部元素的布局,同时内部元素的布局也不会受到外部元素的影响。

  2. 解释一下什么是闭包 ?
    函数可以访问并操作其词法作用域外部的变量,闭包由函数本身和函数外部的变量组成

  3. 解释一下原型和原型链 ?
    原型:在JS中,每个函数都有一个特殊的属性prototype,它指向原型对象。
    当(一个函数作为构造函数)通过new关键字 创建对象时,新对象会自动具有一个_proto_属性,指向构造函数的prototype。
    原型对象上的属性和方法可以被所有由相应构造函数创建的实例共享。
    原型链:当访问一个对象的属性时,JS会先在该对象本身查找这个属性,如果找不到,它会在该对象的原型(_proto_指向的对象)上查找,如果还找不到,就继续在原型的原型上查找,以此类推,直到找到属性或到达原型链的末端

  4. 解释一下什么是深浅拷贝 ?
    浅拷贝:浅拷贝只是把原来对象的内存地址赋值给了新对象,两个对象共享同一块内存空间

深拷贝:深拷贝会完全复制出一个新的对象,并且递归地复制其内部所有引用的对象,确保复制后的对象和原对象完全独立,互不影响。

  1. 在 JS 中如何阻止事件冒泡 ?
    使用事件对象的stopPropagation()方法来阻止事件冒泡(事件传播)。
  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值