摘要: 相信绝大多数同学都听过闭包这个概念,但闭包具体是什么估计很少有人能够说的很详细。说实话闭包在我们平时开发中应该是很常见的,并且在前端面试中闭包也是常见的重要考点,在学习闭包之前我们先来看看作用域与作用域链,因为这是闭包的关键。 作用域 简单来说,作用域是指程序中定义变量的区域,它决定了当前执行代码对 阅读全文
posted @ 2021-10-20 15:49 前端南玖 阅读(344) 评论(5) 推荐(1) 编辑
摘要: this问题对于每个前端同学来说相信都不陌生,在平时开发中也经常能碰到,有时候因为this还踩过不少坑,并且this问题在面试题中出现的概率也非常高,我们一起来了解一下this的指向与call,apply,bind this的指向 ES5中的this 在ES5中,this一般指向函数调用时所在的执行 阅读全文
posted @ 2021-10-19 19:12 前端南玖 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 1.在讨论浏览器与JavaScript之前,我们先来简单了解一下进程与线程 进程(process):资源分配的最小单位 进程是应用程序的执行实例,是操作系统进行资源分配和调度的一个独立单位。 线程(thread):CPU调度的最小单位 线程是进程内部的一个执行单元,是被系统独立调度和分派的基本单位。 阅读全文
posted @ 2021-10-14 10:59 前端南玖 阅读(749) 评论(1) 推荐(3) 编辑
摘要: 前端模块化 模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有CommonJS,AMD,CMD,ES6模块系统 CommonJS nodeJS是commonJS规范的主要实践者,他有四个重要的环境变 阅读全文
posted @ 2021-08-11 17:06 前端南玖 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 三句话道破原型链: 1.每个函数(类)天生自带一个属性prototype,属性值是一个对象,里面存储了当前类供实例调用的属性和方法 2.在浏览器默认给原型开辟的堆内存中有一个constructor属性:存储的是当前类本身(注意:自己开辟的堆内存中默认没有constructor属性,需要自己手动添加) 阅读全文
posted @ 2021-05-20 10:08 前端南玖 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 一、前言 如今的互联网时代也称移动互联网时代,基本上每个人每天都会花费大量时间在移动设备上,早期的移动端应用大都使用原生开发(android,ios),而现在的移动开发技术选型上基本都是混合开发(Hybrid),混合开发是一种开发模式,指使用多种开发模型开发App,通常会涉及到两大类技术:原生Nat 阅读全文
posted @ 2021-03-15 21:22 前端南玖 阅读(8021) 评论(2) 推荐(1) 编辑
摘要: 作为一名开发人员,工作之外的时间总是在学习新事物。作为前端开发人员必须知道一些使我们的代码如何更优雅,工作更轻松的技巧,让自己的代码写的更加高大上,下面这些技巧获取可以帮助到你。 1. 多个条件判断 // longif( x 'a' || x 'b' || x 'c' || x 'd'){ // t 阅读全文
posted @ 2021-01-17 18:25 前端南玖 阅读(597) 评论(1) 推荐(2) 编辑
摘要: 什么是前端工程化? 虽然前端工程化的概念兴起还没几年的时间,但是对于“工程化”这个词并不是一个新鲜词了,在其他软件开发的领域很早就已经有了高度的工程化,例如Web服务端开发。只不过那个时候,前端工程师并没有工程化的意识,也没有必要对前端进行工程化的操作,毕竟在那个时期,前端的开发工作只能算是整个项目 阅读全文
posted @ 2021-01-16 18:32 前端南玖 阅读(1295) 评论(0) 推荐(1) 编辑
摘要: 1. 如何在ES5环境下实现let 这个问题实质上是在回答let和var有什么区别,对于这个问题,我们可以直接查看babel转换前后的结果,看一下在循环中通过let定义的变量是如何解决变量提升的问题 babel在let定义的变量前加了道下划线,避免在块级作用域外访问到该变量,除了对变量名的转换,我们 阅读全文
posted @ 2021-01-07 17:47 前端南玖 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 问题1:以下代码在浏览器控制台上会打印什么? var a = 10; function foo() { console.log(a); // ?? var a = 20; } foo(); 问题2:如果我们使用 let 或 const 代替 var,输出是否相同 var a = 10; functi 阅读全文
posted @ 2021-01-05 21:51 前端南玖 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1.状态查看: git status 可以查看工作区,暂存区的状态 untracked 在暂存区没有该文件 modified 修改过 staged 使用git add 暂存过 2.添加操作: git add [file name] 将工作区的新建/修改添加到暂存区 3.提交操作 git commit 阅读全文
posted @ 2020-11-22 23:55 前端南玖 阅读(170) 评论(0) 推荐(0) 编辑
摘要: animate.css源码,方便开发使用。 /*! 动画属性: animation-name:动画名称 animation-duration:动画时间 animation-timing-function:动画的速度曲线 animation-delay:动画延迟 animation-iteration 阅读全文
posted @ 2020-09-23 16:16 前端南玖 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 在Vue中,不同的选项有不同的合并策略,比如 data,props,methods是同名属性覆盖合并,其他直接合并,而生命周期钩子函数则是将同名的函数放到一个数组中,在调用的时候依次调用 在Vue中,提供了一个api, Vue.config.optionMergeStrategies,可以通过这个a 阅读全文
posted @ 2020-06-28 10:57 前端南玖 阅读(1786) 评论(5) 推荐(3) 编辑
摘要: 为什么有session? 首先大家知道,http协议是无状态的,即你连续访问某个网页100次和访问1次对服务器来说是没有区别对待的,因为它记不住你。 那么,在一些场合,确实需要服务器记住当前用户怎么办?比如用户登录邮箱后,接下来要收邮件、写邮件,总不能每次操作都让用户输入用户名和密码吧,为了解决这个 阅读全文
posted @ 2020-01-09 16:09 前端南玖 阅读(2825) 评论(0) 推荐(1) 编辑
摘要: 下面分享一个自己开发的脚手架,这是自己每天下班回家一点一点写的,也算没白费时间,首先说说这个脚手架的优点吧,它不像vue脚手架只能初始化vue项目,react脚手架只能初始化react项目。而只要全局安装了我这个脚手架,按道理它是可以为你初始化任意项目的(包括vue,react,angular等), 阅读全文
posted @ 2019-11-13 11:37 前端南玖 阅读(1107) 评论(0) 推荐(1) 编辑