828 1 分钟

# 前言 今天做了网课的期末考试,结果提前半小时做完了,闲着无聊于是在网页上捣鼓起了怎么解除网页的不能复制 & 不能打开右键菜单的限制。捣鼓出来后,发现好久没写(氵)博客了,那就分享一下这个操作。 # 正文 # 智慧树 F12 打开控制台,切换到 element 一栏,随便点一个元素 我们可以看到下面的几个事件 然后按 remove 把这个事件移除掉就完事了。 当然你也可以复制下面的命令到控制台执行一下 document.oncopy = null;document.onselectstart = null;document.oncontextmenu =...
16k 14 分钟

# 前言 不知道写什么,所以没有前言 我们从入口开始讲起 # 从入口开始 // vue/src/core/instance/index.jsfunction Vue(options) { if (process.env.NODE_ENV !== 'production' && !(this instanceof Vue) ) { warn('Vue is a constructor and should be called with the `new`...
6.5k 6 分钟

这里是咕了一个月终于开了新坑的雪之樱,上午在 b 站看了个电影《为美好的世界献上祝福!红传说 》,决定水篇博客(所以有什么关系吗)。好吧,言归正传,这次要学习的是 $nextTick 的源码,相信小伙伴们对 $nextTick 一定不会陌生,啥,忘了,好吧,笔者在这里贴心地附上 vue 文档对它的说明。 看~是不是很简单,它用于在组件完成下次更新时执行一个回调,你可以在这里获取更新过的 DOM 状态,然后做一些操作。然后我们就从源码角度看看他做了什么吧。 $nextTick 的混入在 vue/src/core/instance/render 下的 renderMixin 方法中 import...
5.8k 5 分钟

# 前言 离上一篇博客又过去了差不多 10 天的样子,然后上次里的 flag 又完美打脸了,主要是最近项目比较繁忙,所以也莫得时间整理,直到今天似乎闲了一点,于是决定随缘写篇博客。那就是分享在 vue 项目中使用 ts 的一些心得,这篇文章会长期不定期更新。 # 项目起手 从头配置 ts 项目比较困难,在这里我们可以使用 vue 脚手架自带的 ts 可选项,只要在新建项目时勾选 ts,脚手架就可以自动帮我们完成相关配置,非常方便。 然后一路回车,等待几分钟,项目就好了。 这里会介绍 vue 中如何简单使用 ts,想了解更多关于 ts...
1.4k 1 分钟

# 前言 时隔 n 天,终于决定继续学下移动端的知识,但当我打开我的 webstorm,然后准备进行调试时,我陷入了沉思,我居然发现我没有办法调试我的页面,这就非常难受了,于是我折腾了一晚,终于成功搞定了这个问题,需要的工具是 webstorm + 电脑 chrome + 手机 chrome。下面就是分享环节~ # 开启手机的 USB 调试 首先你需要有一个开启了 USB 调试的手机,因为各个系统开启 USB 调试的方法不一样,我就不说了,我是 MIUI 系统,开启 USB 调试的办法在这里,其他的系统直接百度搜索一下,也很容易找到打开的方法。 如果你成功了,理论上通知栏会看到打开 USB...
2.6k 2 分钟

# vue-router 使用复习 在 vue 脚手架中使用 vue-router 时,需要在 main 文件中使用下面的配置 import Vue from 'vue'import App from './App.vue'import router from './router.js'new Vue({ router, render: h => h(App)}).$mount('#app')这段代码做了两件关键的事情 引入 router,在引入时执行了 router.js...
6.3k 6 分钟

Vue 中的计算属性,在开发中经常会用到,但是理解它似乎不是那么容易,这篇文章会用尽量简单的代码介绍计算属性的运行过程。 首先讲讲计算属性大概的思路,计算属性其实是一个 getter 函数,这个 getter 函数通过 Object.defineProperty 来定义,当每次试图获取计算属性的值的时候,getter 函数就会执行,返回值就是获得的计算属性的值。计算属性的值有可能依赖于 data,prop,computed...
5.6k 5 分钟

想成为一名前端工程师,却不知道如何入坑?这是一篇零基础入坑指南,也许可以帮助到你。 # 我要学什么 想要知道学什么,看招聘需求是最快的,这是腾讯 3-5 年经验的社招需求 这是 cvte 的实习需求 总结一下,如果你想找到一个相对较好的前端岗位,那么你需要学习 前端三剑客的主流版本:HTML5 / CSS3 / ES6 三大主流框架中的任意一个:Vue,react, Angular 打包工具:webpack 移动端 / 微信小程序 一门后端语言:JAVA / NodeJS / PHP 而你如果只是想要找一个普通的前端岗位,那你只要学完 HTML5 / CSS3 / ES6 外加 vue...
14k 12 分钟

# 什么是虚拟 DOM 和 diff 算法 在前端发展的初期,前端工程师们使用 JQ 这样的框架对 DOM 进行命令式的操作,这种方式最大的好处是易学,直白,但在前端页面和业务逻辑不断复杂的今天,命令式的操作 dom 已经不适合大型项目的开发,随之而来的三大框架,vue,react, angular 均使用了声明式的操作 DOM,开发者只要描述状态和和 DOM 的映射关系,框架就会帮我们把状态转化成渲染好的视图,虚拟 DOM 正是状态和真实 DOM 之间的一个中间层,为什么要有这个中间层呢,因为操作 DOM 的代价是非常大的,虚拟 DOM 可以描述描述真实 dom 的信息,通过对比前后的虚拟...
3k 3 分钟

# 柯里化 柯里化又称为部分求值。一个 柯里化的函数首先会接受一些参数,接受了这些参数之后,该函数并不会立即求值,而是继续返回另外一个函数,刚才传入的参数在函数形成的闭包中被保存起来。待到函数被真正需要求值的时候,之前传入的所有参数都会被一次性用于求值。 简单来说就是实现这样的效果: add (1)(2, 3)(4)(5) = 15 实现一个简单的柯里化函数并不困难,我们要做只有两点 用闭包保存之前传入的参数 在每次传入参数后判断是否已经收集了足够多的参数,如果是就执行函数 来看看代码实现 /** * * @param targetFun 要柯里化的函数 * @param...