- 博客(33)
- 收藏
- 关注
原创 Python 学习
定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。不可修改且有序(只读列表)写在类里面的函数,通过 self 关键字访问类的成员变量(不占用参数位置)无序(不支持下标访问),不可重复,允许修改。一个特殊的字面量,用于表示:空、无意义。提供基于Key检索Value的场景实现。仅供內部使用的属性和方法,不对外开放。可修改,支持重复元素且有序。
2023-12-18 17:03:51
957
原创 React Router (V6)
一、对比 V5<Route> 特性变更path:与当前页面对应的URL匹配。element:新增,用于决定路由匹配时,渲染哪个组件。代替v5的component和render。<Routes>代替了<Switch><Outlet></Outlet>让嵌套路由更简单useNavigate代替useHistory移除了<NavLink/>的 activeClassName 和 activeStyle钩
2022-05-07 15:05:06
1747
原创 Vue3学习文档
一、Vue 3.0 六大两点Performance:性能比 Vue 2.x快1.2~2倍Tree shaking support:按需编译,体积比Vue 2.x 更小Composition API: 组合API(类似React Hooks)Better TypeScript support:更好的 TS 支持Custom Renderer API:暴露了自定义渲染APIFragment, Teleport(Protal), Suspense:更先进的组件1.1 Vue3.0 是如何变快1
2021-11-24 11:34:13
1879
原创 React 全家桶
一、create-react-app 脚手架1.1 创建项目并启动npx create-react-app react_appcd react_appnpm run start
2021-05-07 09:57:13
4165
3
原创 React 基础文档
一. React的基本使用1.1 相关js库react.js:React核心库。react-dom.js:提供操作DOM的react扩展库。babel.min.js:解析JSX语法代码转为JS代码的库。1.2 hello,react<!-- 准备好一个“容器” --><div id="test"></div><!-- 引入react核心库 --><script type="text/javascript" src="../js/r
2021-02-09 14:45:05
2732
原创 JS 通用设计模式
1. 工厂模式定义用来创建对象的一种最常用的设计模式。不暴露创建对象的具体逻辑,而是将逻辑封装在一个函数中,那么这个函数就可以被视为一个工厂function createUser(role) { function User(options) { this.name = options.name this.viewPage = options.viewPage } switch(role){ case 'superAdmin': return new Us
2021-02-07 10:49:27
176
原创 Object.prototype成员及instanceOf
1、Object.prototype成员介绍1.1 hasOwnProperty()判断一个成员(属性/方法)是否是属于对象自己的,返回一个布尔值let obj = { name:'素素', age:19}obj.__proto__.type = '人';console.log(obj.hasOwnProperty('name'));//trueconsole.log(obj.hasOwnProperty('age'));//trueconsole.log(obj.hasO
2020-10-15 16:54:57
266
原创 前端学习篇 -- Vue 全家桶
1、Vue-Cli1.1 常用命令1.1.1 安装安装 vue-cli3 以上版本npm i @vue/cli -g拉取 vue-cli2 模板npm i @vue/cli-init上面安装好之后,就既可以使用 vue-cli2 ,也可以使用 vue-cli31.1.2 创建项目vue-cli3 以上版本vue create my-project --> my-project 为项目名Please pick a preset: //配置选择 > def
2020-10-14 11:14:12
577
原创 Vue 中 Object.defineProperty 与 Proxy 实现双向绑定的原理
实现双向绑定的三要素响应式: 如何监听数据变化模板引擎: 如何解析HTML代码渲染: 如何将监听到的数据变化和解析后的HTML进行渲染一、Object.defineProperty通过 Object.defineProperty监听对象属性的改变实例定义的属性,vue 内部通过 Object.defineProperty重新定义,生成 Observer// 实例定义的属性const obj = { message: '哈哈哈', name: 'jack'}// vue
2020-10-13 19:35:28
542
原创 前端学习篇 -- ES6 学习
1、let 与 const1.1 let1.1.1 作用与var类似,声明一个变量1.1.2 特点声明的变量只在代码块内有效{ let a = 10; var b = 1;}console.log(a) // ReferenceError: a is not defined.console.log(b) // 1不允许重复声明{ let a = 10; var a = 1;}console.log(a) //SyntaxError: Identifier
2020-10-11 15:41:48
475
原创 webpack面试题2020汇总-------
webpack是什么?webpack与grunt、gulp的不同?webpack中什么是chunk?什么是bundle?Webpack 五个核心概念分别是什么?有哪些常见的Loader?它们是解决什么问题的?有哪些常见的Plugin?它们是解决什么问题的?webpack的构建流程是什么?webpack的热更新是什么?如何利用webpack来优化前端性能?npm打包时需要注意哪些?如何利用webpack来更好的构建?hash、chunkhash、contenthash三者的区别?1.
2020-09-27 15:25:58
5641
原创 CSS 隐藏属性 -- display:none、visibility:hidden、opacity:0三者的区别
一、空间占据display:none 不会占据额外空间,会产生重排(回流)和重绘visibility:hidden和opacity:0 会占据空间,只会产生重绘visibility:hidden 不会影响列表的计数<ol> <li>元素1</li> <li style=" visibility:hidden">元素2</li> <li>元素3</li></ol>// 1.元素1//
2020-09-27 14:03:57
1505
原创 什么是异步?Promise、Generator、async之间的区别
异步的含义异步(async)是相对于同步(sync)而言的同步是一件事一件事的执行。只有前一个任务执行完毕,才能执行后一个任务当JS引擎顺序执行到一个异步任务时,会把这个任务挂起,继续执行后面的代码,等到异步任务返回了结果,再执行下去setTimeout 就是一个异步任务console.log(1)setTimeout(() => { console.log(2)}, 1000)console.log(3)// 1// 3// 2在执行到setTimeout的时候,J
2020-09-11 22:22:27
1608
原创 Promise原理详解及实现方式
在异步编程中,许多操作都会放在回调函数(callback)中,有时候需要拿到上一个异步操作的返回值再做第二次请求比如:asyncOperation(data => { // 处理 `data` anotherAsync(data2 => { // 处理 `data2` yetAnotherAsync(() => { // 完成 }) })})上面代码中,每增加一个异步请求,就会多添加一层回调函数的嵌套,过多的回调
2020-09-11 14:16:11
8351
原创 浏览器原理及性能优化
一、网络方面减少http请求: 合并js文件/合并css文件/雪碧图的使用(css sprite)/使用base64表示简单的图片减小资源体积:gzip压缩/js混淆/css压缩/图片压缩二、渲染和DOM操作方面优化网页渲染: css的文件放在头部,js文件放在尾部或者异步、尽量避免內联样式避免空的src和href: 如果为空,浏览器渲染的时候会把当前页面的URL作为它们的属性值DOM操作优化: 避免在document上直接进行频繁的DOM操作、使用classname代替大量的内联样式修
2020-09-09 17:55:41
1011
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人