前端基础-每日一更

GitHub、Gitee 同步更新
GitHub:web_basic-knowledge-study
Gitee: Web_basicKnowledgeStudy

工具-Git

1.git 和 svn的区别
  1. git 和 svn 最大的区别在于 git 是分布式的,而 svn 是集中式的。因此我们不能再离线的情况下使用 svn。如果服务器出现问题,我们就没有办法使用 svn 来提交我们的代码
  2. svn 中的分支是整个版本库的复制的一份完整目录,而 git 的分支是指针指向某次提交,因此git 的分支创建更加开销更小并且分支上的变化不会影响到其他人。svn 的分支变化会影响到
  3. svn相对于 git 来说要简单一些,比 git 更容易上手
  4. git 和 svn 对比 - 掘金
  5. git 学习小计 - 分支原理
2.常见git 命令
git init // 新建 git 代码库
git add // 添加指定文件到暂存区
git rm // 删除工作区文件,并且将这次删除放入暂存区
git commit -m [message] // 提交暂存区到仓库区
git branch // 列出所有分支
git checkout -b [branch] // 新建一个分支,并切换到该分支
git status // 显示有变更的文件

常见 git 命令清单

3.git pull 和 git fetch 的区别 (从远程仓库更新到本地仓库)
  1. git fetch 只是将远程仓库的变化下载下来,并没有和本地分支合并。
  2. git pull 会将远程仓库的变化下载下来,并和当前分支合并
  3. git pull = git fetch + git merge
  4. 详解git pull 和 git fetch 的区别
4.git rebase 和 git merge 的区别
  1. git merge 和 git rebase 都是用于分支合并,关键在 commit 记录的处理上不同。
  2. git merge 会新建一个新的 commit 对象,然后两个分支以前的 commit 记录都指向这个新 commit记录。这种方法会保留之前每个分支的 commit 历史。
  3. git rebase 会先找到两个分支的第一个共同的 commit 祖先记录,然后将提取当前分支这之后的所有commit 记录,然后将这个 commit 记录添加到目标分支的最新提交后面。经过这个合并后,两个分支合并后的 commit 记录就变为了线性的记录了(线性树--对两个分支的历史有破坏)
  4. 《git merge 与 git rebase 的区别》

(最后更新于 day-12021/2/6 )

HTML

1. DOCTYPE的作用是什么?

<!DOCTYPE>声明位于 HTML 文档中的第一行,处于 <HTML>标签之前。

**作用:**告知浏览器以什么文档标准解析这个文档。

DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。

一般指定了之后会以标准模式来进行文档解析,否则就以兼容模式进行解析。在标准模式下,浏览器的解析规则都是按照最新的标准进行解析的。而在兼容模式下,浏览器会以向后兼容的方式来模拟老式浏览器的行为,以保证一些老的网站的正确访问。

HTML5 之后不再需要指定DTD文档:
因为HTML5之前的文档都是基于SGML的,因此需要指定DTD来定义文档中允许的属性和一些规则。
由于HTML5不再基于SGML,因此不再需要使用DTD

2.标准模式 和 兼容模式的区别

**标准模式:**渲染模式和 JS引擎的解析方式都是以该浏览器所能支持的最高标准运行。

**兼容模式:**页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为,防止站点无法工作。

3. HTML5 为什么只需要写<!DOCTYPE HTML>,而不需要引入 DTD?

HTML5不再基于SGML,因此不需要指定DTD

HTML5之前的文档都是基于SGML,需要指定DTD来定义相应的规则和属性

4. SGML 、 HTML 、XML 和 XHTML 的区别?

SGML:标准通用标记语言,是一种定义电子文档和描述其内容的国际标准语言,是所有电子文档标记语言的起源。
HTML:超文本标记语言,规定怎么显示网页。
XML:可扩展标记语言,XML标签可自建,无限多;HTML标签固定且数量有限。
XHTML:基本所有网页都在使用的标记语言,和HTML没有本质区别,标签,数量都一样,主要是比HTML更严格了
											eg:标签规定必须小写,标签都必须由闭合标签等等。

5. DTD 介绍

DTD( Document Type Definition )文档类型定义

是一组机械可读的规则,定义了XML 或 HTML的特定版本中的所有允许元素、规则和属性

在进行网页解析时,浏览器使用这些规则,检查页面的有效性并采取相应的措施

DTD是对HTML文档的声明,还会影响浏览器的渲染模式。

6. 行内元素(内联元素)定义

常见行内元素:a b span img strong sub sup button input label select textarea

7. 块级元素定义

常见的块级元素有 div ul ol li dl dt dd h1 h2 h3 h4 h5 h6 p

8.行内元素和块级元素的区别

  1. **主要区别:**体现在盒模型上。设置width和height无效,设置magin 和padding的上下不会对其他元素产生影响

  2. 行内元素不会换行,块级元素会另起一行

  3. 行内元素只能包含文本和其他行内元素,但是块级元素可以包含块其他级元素和行内元素

9.HTML5 元素的分类 (***有点难记)

在HTML4中,元素被分为 inline 和 block两大类,但是在实际应用中,我们经常需要用display转换,更是出现了inline-block对外显示inline 对内显示block的属性,inline和block已不再符合实际需求

HTML5的元素分类(7类):Metadata Flow Sectioning Heading Phrasing Embedded Interactive

10. 空元素定义

标签中没有内容的HTML标签被称为空元素空元素在开始标签中关闭。

常见的空元素 :br(换行) hr(分隔线) img link meta input

11.link 标签定义

link 标签定义文档与外部资源的关系

link 元素是空元素,仅包含属性,存在于head ,可以出现无限次

link 标签中的rel定义了当前文档与链接文档之前的关系,例如常见的stylesheet指的就是一个外部加载的样式文件

12. 页面导入样式时,使用 link 和 @import 有什么区别?

4个主要的区别

  1. 从属关系区别:@import是css提供的语法,只可导入样式表,但是link不仅导入css样式表,还可以定义rss,rel 连接属性、引入网站图标等。

  2. 加载顺序区别:link引入的css在页面加载时同时加载,但是@import引入的css在页面加载完后加载

  3. 兼容性区别:@import 是css2.1的语法,在IE5+才可以使用,而link是HTML的元素,不存在兼容性问题

  4. DOM可控性区别:link可以通过JS操作DOM插入link标签修改样式,但是@improt是css的语法,无法通过DOM操作。DOM是基于文档的。

(最后更新于 day-22021/2/7 )

JavaScript

1.介绍 js 的基本数据类型

js 一共有六种基本数据类型,

5种简单类型分别是 Undefined、Null、Boolean、Number、String (巧记 undefined / null,NSB)

1种复杂数据类型 object(对象)

ES6 新增的 symbol 类型:

Symbol 代表创建后独一无二且不可变的数据类型,它的出现我认为主要是为了解决可能出现的全局变量冲突 的问题。

ES10 新增的BigInt 类型:

BigInt 是一种数字类型的数据,它可以表示任意精度格式的整数,使用 BigInt 可以安全地存储和操作大 整数,即使这个数已经超出了Number 能够表示的安全整数范围。

(最后更新于 day-22021/2/7 )

2.原始值和引用值

**原始值 **即一些代表原始数据类型的值,也叫基本数据类型,首先说一下js中有哪些原始值,Number,String,Boolean,Null,Undefined这些基本数据类型都是原始值。

原始值存储在中。

var a = 10 ;
var b = a ;
a = 20;
console.log(b);     //输出10 b的值不会因a的值的改变而该改变

引用值 是指一些复合类型数据的值,包括Object,function,Array,RegExp,Data,引用值于原始值不同。

引用值由指针(引用变量)指向对象,指针放在栈中,但是对象在堆内存里。

var a = [1,2,3] ;  
var b = a ; 
a.push(4) ;
console.log(b) ;     //输出1,2,3,4 
a = [12] ;
console.log(b) ;  //输出1,2,3,4 
console.log(a) ;  //输出12

上例中a指向[12],指向了新的堆空间。

3. JS中数据类型的4种判断方法

typeof 、 instanceof 、 Object.prototype.toString.call() 、constructor(构造函数)

**1.typeof **
返回值包括number、boolean、string、symbol、object、undefined、function等7种数据类型
但不能判断nullarray

typeof Symbol(); // symbol 有效
typeof ''; // string 有效
typeof 1; // number 有效
typeof true; //boolean 有效
typeof undefined; //undefined 有效
typeof new Function(); // function 有效
typeof null; //object 无效
typeof [] ; //object 无效
typeof new Date(); //object 无效
typeof new RegExp(); //object 无效

2.instanceof

用来判断A

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值