avatar
文章
296
标签
31
分类
11

首页
文章
标签
娱乐
  • 图库
  • Music
  • Movie
  • 简历
联系我
About
前端日记
搜索
首页
文章
标签
娱乐
  • 图库
  • Music
  • Movie
  • 简历
联系我
About

前端日记

面试官:说说你对git stash 的理解?应用场景?
发表于2023-01-01|面试
面试官:说说你对git stash 的理解?应用场景? 一、是什么stash,译为存放,在 git 中,可以理解为保存当前工作进度,会把暂存区和工作区的改动进行保存,这些修改会保存在一个栈上 后续你可以在任何时候任何分支重新将某次的修改推出来,重新应用这些更改的代码 默认情况下,git stash会缓存下列状态的文件: 添加到暂存区的修改(staged changes) Git跟踪的但并未添加到暂存区的修改(unstaged changes) 但以下状态的文件不会缓存: 在工作目录中新的文件(untracked files) 被忽略的文件(ignored files) 如果想要上述的文件都被缓存,可以使用-u或者--include-untracked可以工作目录新的文件,使用-a或者--all命令可以当前目录下的所有修改 二、如何使用关于git stash常见的命令如下: git stash git stash save git stash list git stash pop git stash apply git stash show git stash d ...
60个JS实用的代码小技巧
发表于2023-01-01|JavaScript
JavaScript 有很多很酷的特性,大多数初学者和中级开发人员都不知道。今天分享一些,我经常在项目中使用一些技巧。 1. JS 为什么单线程一个简单的原因就是,js在设计之初只是进行一些简单的表单校验,这完全不需要多线程,单线程完全可以胜任这项工作。即便后来前端发展迅速,承载的能力越来越多,也没有发展到非多线程不可的程度。 而且还有一个主要的原因,设想一下,如果js是多线程的,在运行时多个线程同时对DOM元素进行操作,那具体以哪个线程为主就是个问题了,线程的调度问题是一个比较复杂的问题。 HTML5新的标准中允许使用new Worker的方式来开启一个新的线程,去运行一段单独的js文件脚本,但是在这个新线程中严格的要求了可以使用的功能,比如说他只能使用ECMAScript, 不能访问DOM和BOM。这也就限制死了多个线程同时操作DOM元素的可能。 2.使用 css 写出一个三角形角标元素宽高设置为0,通过border属性来设置,让其它三个方向的border颜色为透明或者和背景色保持一致,剩余一条border的颜色设置为需要的颜色。 1234567div { widt ...
ES6来简化代码,你都用过哪些
发表于2023-01-01|JavaScript
块级作用域为什么需要块级作用域? ES5 只有全局作用域和函数作用域,没有块级作用域,这导致很多场景不合理。 第一种场景,内层变量可能会覆盖外层变量。 123456789var tmp = new Date();function fn() { console.log(tmp); if (false) { var tmp = "hello world"; }}fn(); // undefined 以上代码的原意是, if 代码块的外部使用外层的 tmp 变量,内部使用内层的 tmp 变量。但是,函数 fn 执行后,输出结果为 undefined ,原因在于变量提升导致内层的 tmp 变量覆盖了外层的 tmp 变量。 第二种场景,用来计数的循环变量泄露为全局变量。 123456var s = "hello";for (var i = O; i < s.length; i++) { console.log(s[i]);}console.log(i); // 5 ...
ES6面试理论知识点汇总
发表于2023-01-01|JavaScript
一、问:ES6 是什么,为什么要学习它,不学习 ES6 会怎么样?答:ES6 是新一代的 JS 语言标准,对分 JS 语言核心内容做了升级优化,规范了 JS 使用标准,新增了 JS 原生方法,使得 JS 使用更加规范,更加优雅,更适合大型应用的开发。学习 ES6 是成为专业前端正规军的必经之路。不学习 ES6 也可以写代码打鬼子,但是最多只能当个游击队长。 二、问:ES5、ES6 和 ES2015 有什么区别?答:ES2015 特指在 2015 年发布的新一代 JS 语言标准,ES6 泛指下一代 JS 语言标准,包含 ES2015、ES2016、ES2017、ES2018 等。现阶段在绝大部分场景下,ES2015 默认等同 ES6。ES5 泛指上一代语言标准。ES2015 可以理解为 ES5 和 ES6 的时间分界线。 三、问:babel 是什么,有什么作用?答:babel 是一个 ES6 转码器,可以将 ES6 代码转为 ES5 代码,以便兼容那些还没支持 ES6 的平台。 四、问:let 有什么用,有了 var 为什么还要用 let?答:在 ES6 之前,声明变量只能用 var,v ...
NodeJS框架Express与Koa对比
发表于2023-01-01|NodeJS
NodeJS框架Express与Koa对比框架介绍express框架是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,主要基于 Connect 中间件,并且自身封装了路由、视图处理等功能。 koa是 Express 原班人马基于 ES6 新特性重新开发的框架,主要基于 co 中间件,框架自身不包含任何中间件,很多功能需要借助第三方中间件解决,但是由于其基于 ES6 generator 特性的异步流程控制,解决了 “callback hell” 和麻烦的错误处理问题。 相同点两个框架都对http进行了封装。相关的api都差不多,同一批人所写。 不同点express内置了许多中间件可供使用,而koa没有。 express包含路由,视图渲染等特性,而koa只有http模块。 express的中间件模型为线型,而koa的中间件模型为U型,也可称为洋葱模型构造中间件。 express通过回调实现异步函数,在多个回调、多个中间件中写起来容易逻辑混乱。 一、起步:创建一个简单的服务器原生node 123456789101112131415161718var http = requ ...
一份前端够用的 Linux 命令
发表于2023-01-01|技术
一份前端够用的 Linux 命令我在建站的过程中,必不可少会用到 Linux 命令,所以此篇写一份基本够用的 Linux 命令,会涵盖博客搭建系列文章用到的各种命令,方便查询和学习使用。 0. Owner、Group、Others、RootLinux 系统是一种多用户系统,它将文件访问者身份分为三种: 文件所有者(Owner)当创建一个用户的时候,Linux 会为该用户创建一个主目录,路径为 /home/<username>,我们可以使用 cd ~,快捷进入主目录。如果你想放一个私密文件,就可以放在自己的主目录里,然后设置只能自己查看。 群组(Group)每个用户都有一个用户组,方便多人操作的时候,为一群人分配权限。当创建用户的时候,会自动创建一个与它同名的用户组。 如果一个用户同时属于多个组,用户需要在用户组之间切换,才能具有其他用户组的权限。 其他人(Others)既不是文件所有者又不是文件所属群组成员的用户,就是其他人。 超级用户(Root)Root 用户是一类特殊的用户,该用户可以访问所有文件。 1. adduser 添加用户 和 passwd 更改密码12345# ...
面试官:== 和 ===区别,分别在什么情况使用
发表于2023-01-01|JavaScript面试
面试官:== 和 ===区别,分别在什么情况使用 一、等于操作符等于操作符用两个等于号( == )表示,如果操作数相等,则会返回 true 前面文章,我们提到在JavaScript中存在隐式转换。等于操作符(==)在比较中会先进行类型转换,再确定操作数是否相等 遵循以下规则: 如果任一操作数是布尔值,则将其转换为数值再比较是否相等 1let result1 = (true == 1); // true 如果一个操作数是字符串,另一个操作数是数值,则尝试将字符串转换为数值,再比较是否相等 1let result1 = ("55" == 55); // true 如果一个操作数是对象,另一个操作数不是,则调用对象的 valueOf() 方法取得其原始值,再根据前面的规则进行比较 12let obj = {valueOf:function(){return 1}}let result1 = (obj == 1); // true nul ...
面试官:说说你对BOM的理解,常见的BOM对象你了解哪些?
发表于2023-01-01|JavaScript面试
面试官:说说你对BOM的理解,常见的BOM对象你了解哪些? 一、是什么BOM (Browser Object Model),浏览器对象模型,提供了独立于内容与浏览器窗口进行交互的对象 其作用就是跟浏览器做一些交互效果,比如如何进行页面的后退,前进,刷新,浏览器的窗口发生变化,滚动条的滚动,以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率 浏览器的全部内容可以看成DOM,整个浏览器可以看成BOM。区别如下: 二、windowBom的核心对象是window,它表示浏览器的一个实例 在浏览器中,window对象有双重角色,即是浏览器窗口的一个接口,又是全局对象 因此所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法 12345678var name = 'js每日一题';function lookName(){ alert(this.name);}console.log(window.name); //js每日一题lookName(); //js每日一题window.lookName(); ...
面试官:DOM常见的操作有哪些?
发表于2023-01-01|JavaScript面试
面试官:DOM常见的操作有哪些? 一、DOM文档对象模型 (DOM) 是 HTML 和 XML 文档的编程接口 它提供了对文档的结构化的表述,并定义了一种方式可以使从程序中对该结构进行访问,从而改变文档的结构,样式和内容 任何 HTML 或XML文档都可以用 DOM 表示为一个由节点构成的层级结构 节点分很多类型,每种类型对应着文档中不同的信息和(或)标记,也都有自己不同的特性、数据和方法,而且与其他类型有某种关系,如下所示: 12345678<html> <head> <title>Page</title> </head> <body> <p>Hello World!</p > </body></html> DOM像原子包含着亚原子微粒那样,也有很多类型的DOM节点包含着其他类型的节点。接下来我们先看看其中的三种: 12345<div> <p title="title" ...
面试官:ajax原理是什么?如何实现?
发表于2023-01-01|JavaScript面试
面试官:ajax原理是什么?如何实现? 一、是什么AJAX 全称(Async Javascript and XML) 即异步的 JavaScript 和 XML,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并且更新部分网页 Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM而更新页面 流程图如下: 下面举个例子: 领导想找小李汇报一下工作,就委托秘书去叫小李,自己就接着做其他事情,直到秘书告诉他小李已经到了,最后小李跟领导汇报工作 Ajax请求数据流程与“领导想找小李汇报一下工作”类似,上述秘书就相当于XMLHttpRequest对象,领导相当于浏览器,响应数据相当于小李 浏览器可以发送HTTP请求后,接着做其他事情,等收到XHR返回来的数据再进行操作 二、实现过程实现 Ajax 异步交互需要服务器逻辑进行配合,需要完成以下步骤: 创建 Ajax 的核心对象 XMLHttpRequest 对象 通过 XMLHttpRequest 对象的 ope ...
1…121314…30
avatar
YangTao
share & study
文章
296
标签
31
分类
11
Follow Me
公告
=>我的个人网站,分享前端技术及踩坑记录。如果喜欢,欢迎Star!
最新文章
Vue的不同风格写法,你知道么?2024-10-24
GitHub2024-10-24
一文解读react-hook(useState、useReducer、useEffect、useCallback、useMemo、useRef、useContext...)2024-09-06
GPT4升级指南(2024年5月最新)2024-05-15
CSS @符号规则的使用(@font-face、@keyframes、@media、@scope等)2024-02-20
标签
面试JavaScript小程序CSSES6utils正则NodeJSExpressKoatestwindowyamlgithubvuewebpackmetacliajaxReact算法GPT设计模式GitHttpLinuxTypeScriptvue2Vuevue3proxy
网站资讯
文章数目 :
296
已运行时间 :
本站总字数 :
525.1k
最后更新时间 :
©2023 - 2024 By YangTao
鄂ICP备2021000562号
搜索
数据库加载中