MR.K在前端的平凡之路
从出生到而立,从入门到熟悉, 从懵逼到牛逼,记录在这里
big_big-world
To be greatest,or nothing
博客地址 https://bestGao.github.io
展开
-
学习方法
1.循序渐进学习javascript(任何编程语言,甚至知识都适用)首先我会把Chrome浏览器装好,在dev tools => console里直接练习熟悉基本语法,变量,数据类型,数学运算,字符串运算,条件,循环基本结构,简单函数定义和调用这些,之所以用chrome dev tools,是因为这时候我不想费劲折腾单独的编辑器,也不需要在开文件和文件夹,然后去配一些工具最终才接触到真正...转载 2018-03-09 21:11:47 · 249 阅读 · 0 评论 -
git 与GitHub的简单教程
1.安装git Git 是一个版本控制系统2.进到你本地项目文件夹,如果已经存在.git文件夹,先删除,右键选择git bash here输入以下命令:git initgit remote add origin *.git(换成你自己的github地址就行)git add .git commit -m "上传项目"git push -u origin master最后一个命令需要你输入你的gith...原创 2018-03-11 21:33:25 · 174 阅读 · 0 评论 -
从输入URL到页面加载的过程?如何由一道题完善自己的前端知识体系!
前言见解有限,如有描述不当之处,请帮忙指出,如有错误,会及时修正。为什么要梳理这篇文章?最近恰好被问到这方面的问题,尝试整理后发现,这道题的覆盖面可以非常广,很适合作为一道承载知识体系的题目。关于这道题目的吐槽暂且不提(这是一道被提到无数次的题,得到不少人的赞同,也被很多人反感),本文的目的是如何借助这道题梳理自己的前端知识体系!窃认为,每一个前端人员,如果要往更高阶发展,必然会将自己的知识体系梳...转载 2018-03-15 21:28:46 · 548 阅读 · 0 评论 -
从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理
前言见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。----------超长文+多图预警,需要花费不少时间。----------如果看完本文后,还对进程线程傻傻分不清,不清楚浏览器多进程、浏览器内核多线程、JS单线程、JS运行机制的区别。那么请回复我,一定是我写的还不够清晰,我来改。。。----------正文开始----------最近发现有不少介绍JS单线程运行机制的文章,但...转载 2018-03-15 22:37:50 · 227 阅读 · 0 评论 -
前端模块化:CommonJS,AMD,CMD,ES6
模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有CommonJS、AMD、CMD以及ES6的模块系统。参见阮一峰老师的文章 module-loader 。一、CommonJSNode.js是commonJS规范的主要实践者,它有四个重要的环境变量为模块化的实现提供支持:module、export...转载 2018-03-16 10:23:18 · 215 阅读 · 0 评论 -
浏览器的工作原理:新式网络浏览器幕后揭秘
序言这是一篇全面介绍 WebKit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果。在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据(请参见资源),并花了很多时间来研读网络浏览器的源代码。她写道:在 IE 占据 90% 市场份额的年代,我们除了把浏览器当成一个“黑箱”,什么也做不了。但是现在,开放源代码的浏览器拥有了过半的市场份额,因此,是时候来揭开神...转载 2018-03-16 10:39:34 · 167 阅读 · 0 评论 -
从输入 URL 到页面加载完成的过程中都发生了什么事情?
nwind | 24 May 2014背景本文来自于之前我发的一篇微博:不过写这篇文章并不是为了帮大家准备面试,而是想借这道题来介绍计算机和互联网的基础知识,让读者了解它们之间是如何关联起来的。为了便于理解,我将整个过程分为了六个问题来展开。第一个问题:从输入 URL 到浏览器接收的过程中发生了什么事情?从触屏到 CPU首先是「输入 URL」,大部分人的第一反应会是键盘,不过为了与时俱进,这里将介...转载 2018-03-16 13:42:33 · 376 阅读 · 0 评论 -
这一次,彻底弄懂 JavaScript 执行机制
本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我。不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序。因为javascript是一门单线程语言,所以我们可以得出结论:javascript是按照语句出现的顺序执行的看到这里读者要打人了:我难道不知道js是一行一行执...转载 2018-03-22 19:45:07 · 2224 阅读 · 4 评论 -
css medias
Media Queries直译过来就是“媒体查询”,在我们平时的Web页面中head部分常看到这样的一段代码:1 <link href="css/reset.css" rel="stylesheet" type="text/css" media="screen" />2 <link href="css/style.css" rel="styleshee转载 2018-03-24 12:18:02 · 237 阅读 · 1 评论 -
JavaScript中的浅拷贝与深拷贝
学了这么长时间的JavaScript想必大家对浅拷贝和深拷贝还不太熟悉吧,今天在项目中既然用到了,早晚也要理清一下思路了,在了解之前,我们还是先从JavaScript的数据类型存放的位置 堆栈开始说起吧! 现在我们带着问题来学习!一:什么是堆栈? 我们都知道:在计算机领域中,堆栈是两种数据结构,它们只能在一端(称为栈顶(top))对数据项进行插入和删除。堆:队列优先,先进...转载 2018-03-28 22:17:21 · 180 阅读 · 0 评论 -
mind
这是一个娱乐至死的时代,天天耳边都充斥折X音,X手,XX头条,金融,房地产。。。,我们的人工智能却没有自己核心的算法,顶会上发布论文数量屈指可数,还大部分是美籍华人,最近的中兴事件真的是让很多人惊愕,唉,科技才是发展强大的根本之道,Ai和机器人技术还是牢牢地掌握在西方国家AI is the future ,the future is coming AI即是未来,未来已来最强大的力量,科技,武力,资...原创 2018-04-25 13:10:49 · 206 阅读 · 0 评论 -
什么是JavaScript中的执行上下文和堆栈?
在这篇文章中,我将深入分析JavaScript中最基本的部分之一Execution Context。 在这篇文章的最后,你应该更清楚地了解解释器试图做什么,为什么一些函数/变量可以在声明之前使用,以及它们的值如何确定。什么是执行上下文?当代码在JavaScript中运行时,执行它的环境非常重要,并评估为以下一项:全局代码 - 第一次执行代码的默认环境。功能代码 - 只要执行流程进入功能体。评估代码...翻译 2018-05-23 13:49:40 · 800 阅读 · 2 评论 -
JavaScript变量声明提升和函数声明提升
Js代码分为两个阶段:编译阶段和执行阶段Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容包括变量声明(var a)和函数声明(function a(){})在内的所有声明都会在代码被执行前的编译阶段首先被处理 过程就好像变量声明和函数声明从他们代码中出现的位置被移动到执行环境的顶部,这个过程就叫做提升只有声明操作会原创 2018-03-07 14:25:56 · 252 阅读 · 0 评论 -
CSS布局解决方案(终结版)
前端布局非常重要的一环就是页面框架的搭建,也是最基础的一环。在页面框架的搭建之中,又有居中布局、多列布局以及全局布局,今天我们就来总结总结前端干货中的CSS布局。居中布局水平居中1)使用inline-block+text-align(1)原理、用法原理:先将子框由块级元素改变为行内块元素,再通过设置行内块元素居中以达到水平居中。用法:对子框设置display:inline-block,对父框设置t...转载 2018-03-09 21:06:55 · 189 阅读 · 0 评论 -
flexbox弹性布局
Flexbox通常能让我们更好的操作他的子元素布局,例如:如果元素容器没有足够的空间,我们无需计算每个元素的宽度,就可以设置他们在同一行;可以快速让他们布局在一列;可以方便让他们对齐容器的左、右、中间等;无需修改结构就可以改变他们的显示顺序;如果元素容器设置百分比和视窗大小改变,不用提心未指定元素的确切宽度而破坏布局,因为容器中的每个子元素都可以自动分配容器的宽度或高度的比例。听起来相当有用,不是...转载 2018-03-12 08:56:43 · 275 阅读 · 0 评论 -
html,body设置{height:100%}
一般情况下,我们css控制的最高节点就是body,例如设置:body{background:#069;}则浏览器界面就是完全的#068的背景色。这里看上去是<body>标签下的背景色起作用了,我到不这么认为,这里不是body的background起作用,而是body作为一个根节点起作用了,<html>标签未被激活,body担当类似于根节点的节点,其background背景色...转载 2018-03-12 19:51:12 · 31935 阅读 · 0 评论 -
https与http的区别
https其实就是建构在SSL/TLS之上的 http协议,所以要比较https比http多用多少服务器资源,主要看SSL/TLS本身消耗多少服务器资源。http使用TCP 三次握手建立连接,客户端和服务器需要交换3个包,https除了 TCP 的三个包,还要加上 ssl握手需要的9个包,所以一共是12个包。http 建立连接,按照下面链接中针对Computer Science House原创 2018-01-31 09:44:46 · 424 阅读 · 0 评论 -
《JavaScript高级程序设计》读书笔记
1.JavaScript实现 JavaScript 与 ECMAScript 之间的关系: * 核心(ECMAScript) 语法 类型 语句关键字保留字 操作符 对象 * 文档对象模型(DOM) 是针对 XML 但经过扩展用于 HTML 的应用程序编 程接口(API,Application Programming Interface)。DOM 把整个页面映...原创 2018-02-28 15:53:45 · 1121 阅读 · 0 评论 -
javascript中会转换值类型的函数和操作符
1.isNaN()这个函数接受一个参数,该参数可以是任何类型,而函数会帮我们确定这个参数是否“不是数值”。 isNaN() 在接收到一个值之后,会尝试将这个值转换为数值。某些不是数值的值会直接转换为数值,例如字符串 "10" 或 Boolean 值。而任何不能被转换为数值的值都会导致这个函数返回 true 。请看下面的例子:alert(isNaN(NaN)); //truealert(isNaN(...原创 2018-02-28 17:55:31 · 306 阅读 · 0 评论 -
使用React+ndoe.js+mogodb实现注册登录功能
## 版本迭代信息### v1.0.01. 使用mysql数据库2. 提示框使用Prompt组件3. video-player实现视频上传4. 视频蒙层,hover显示数据信息5. 改造node层,增加获取数据信息的接口8. 修改信息部分从form表单上传改为fetch上传1. 用户注册,登录,修改个人信息,退出## 技术栈1. node.js (为了锻炼n原创 2018-01-09 09:36:42 · 1599 阅读 · 0 评论 -
使用Hexo + GitHub Pages搭建个人博客
---title: github pages+hexo搭建博客date: 2017-09-20 10:39:20tags: ["技术","学习",'博客']---Web 前端爱好者。写博客的好处,不是为了写而写,而是一个记录思想的过程。不要考虑它能带给你什么,而是你自己从中收获了什么。最近刚好有空,于是就参照网上的各种教程,搭建了一个博客。现在把 Hexo + GitHub原创 2018-01-26 18:23:30 · 3273 阅读 · 1 评论 -
create-react-app命令的执行问题
当cretate-react-app appname是出现 postinstall: info时间。。。时,使用 npm install -g npm@latest 更新下npm,之后使用管理运行npm 重新试下就ok了。原创 2018-01-26 18:40:41 · 3742 阅读 · 0 评论 -
navicat for mysql10.0.11简体中文破解版
navicat for mysql10.0.11简体中文破解版下载地址链接:https://pan.baidu.com/s/1oAoSAam 密码:330e原创 2018-01-26 18:45:10 · 8524 阅读 · 0 评论 -
前端开发遇到的小问题
checkbox全选全不选:prop用于操作元素的固有属性attr用于自定义属性$("#all").click(function(){ if(this.checked){ $("#list :checkbox").prop("checked", true); }else{ $("#list :checkbox").prop(原创 2018-01-26 18:50:38 · 317 阅读 · 0 评论 -
前端架构,前端工程化
前端架构:1.前端工程化web应用复杂度的增加,特别是单页面应用的风靡。组件化,工程化,自动化成了前端发展的趋势。或者说一线的互联网公司就是这么做的。每个前端团队都在打造自己的前端开发体系,这通常是一个东拼西凑,逐渐磨合的过程,在技术发展日新月异的今天,这样的过程真的是不可抽象和复制的么?本文希望能够通过系统的拆解前端开发体系为大家提供体系设计思路参考。前端工程的3个阶段翻译 2018-01-31 10:49:28 · 33040 阅读 · 8 评论 -
JavaScript
JavaScript是世界上最被误解的语言JavaScript ( es6,es7,es8......) 是一种轻量级解释或JIT编译型的编程语言,拥有一流的功能。虽然它是作为开发web页面的脚本语言而出名的,但是在很多非浏览器环境中也使用JavaScript,例如 node.js、 Apache CouchDB 和 Adobe Acrobat。JS是一种基于原型、多范式的动态脚本语言,并且支原创 2018-01-31 11:18:15 · 648 阅读 · 0 评论 -
前端工程化体系
根据自身从业这些年的一些产品和项目经验,对前端工程体系的设计有一些自己的见解:前端开发应该是“自成体系”的,包括运维布署、日志监控等针对不同的场景有不同的解决方案,并不是一套大而全的框架体系。比如针对以产品宣传展示为主的网页(Site),采用多页模式和响应式设计开发;以用户交互为主的且无强烈 SEO 要求的应用(Application),采用单页模式开发产品组件化,为提高复用性尽量将组件的原创 2018-01-31 13:20:23 · 735 阅读 · 0 评论 -
前端面试题及答案
FE-interview$HTML, HTTP,web综合问题常见排序算法的时间复杂度,空间复杂度前端需要注意哪些SEOweb开发中会话跟踪的方法有哪些的title和alt有什么区别doctype是什么,举例常见doctype及特点HTML全局属性(global attribute)有哪些什么是web语义化,有什么好处HTTP method从浏览器地址栏输入原创 2018-01-31 19:00:37 · 1162 阅读 · 0 评论 -
前端面试题
这些问题都很普通 但很基础和重要,决定了你可以走多远和拿到敲门砖,所以不要觉得不重要,因为这些问题都答不到70%,那么你基本可以和正经的重视前端的大公司说拜拜了。如果你一些基本问题答对了,那么我可以肯定的是 你面试任何公司的前端技术轮,都是没问题的。不是我吹,是真的 基础很重要 也很简单都可以自己查到,做好准备即可。由于我拿到过 阿里巴巴事业原创 2018-01-31 20:45:19 · 451 阅读 · 0 评论 -
JavaScript高级程序设计第6章对象数据属性
在使用js的Object.defineProperty来给一个对象定义属性时,为什么没有设置writable,configurable,enumerable为false,却改变不了它的value和读出它的属性名?首先,我们了解一下Object.defineProperty的四个数据属性configurable: 仅当该属性的 configurable 为 true 时,该属原创 2018-02-01 11:02:52 · 212 阅读 · 0 评论 -
创建对象的方法
Object 构造函数 var obj=new Object();obj.name='objName';obj.property=function(){alert(this.name)};对象字面量var person={name:'mark',age:20};缺点:使用同一个接口创建很多对象,会产生大量的重复代码。工厂模式工厂模式是软件工程领域一种广为人知的设计模式,这种原创 2018-02-01 16:07:00 · 225 阅读 · 0 评论 -
react-routev4简易入门
React Router4是一个流行的纯React重写的包。现在的版本中已不需要路由配置,现在一切皆组件。本文涵盖了开始使用React Router构建网站所需要的一切知识。我们将会为本地运动队制作一个网站。代码想看网站最终效果,查看demo点击预览安装React Router被拆分成三个包:react-router,react-router-dom和r原创 2018-02-03 10:12:49 · 469 阅读 · 0 评论 -
React 技术栈
React+Redux+React-Router v4+ES6+webpackgithub 地址 https://github.com/bestGao/Big-Funny-World.git原创 2018-02-04 09:18:33 · 473 阅读 · 0 评论 -
Git入门教程
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速...原创 2018-02-13 22:02:24 · 208 阅读 · 0 评论 -
puppeteer 初体验之爬虫与 UI 自动化
puppeteer科普Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol. Puppeteer runs headless by default, but can be configured to run full...原创 2019-09-19 20:32:13 · 723 阅读 · 0 评论