- 博客(23)
- 收藏
- 关注
原创 每日一题
2021-03-11 微信红包算法function getWechatRedPacket(totalMoney, totalPeople) { let minMoney = 0.01; let maxMoney; let currentMoney; let sumList = []; while(totalPeople > 1) { maxMoney = totalMoney * 2.0 / totalPeople; currentMoney = Math.random() * m
2021-03-11 18:37:50 148
原创 js求值策略
1.按值传递, 是个copy,内部不会影响外部。 const a = { index: 1 }; function foo(obj) { obj.index = 2; } foo(a); console.log(a.index); // 1 2.按引用传递, 变量对象的指针都给了它。 const a = { index: 1 }; function foo(obj) { obj = { a: 2}; } foo(a); console.log(a); // { a: 2.
2020-12-10 00:51:18 137
原创 js-参数求值策略
1.按值传递1.对象传递过去,不论函数内部如何修改,外部的参数都不变。2.按引用传递,对于一个复杂的对象有性能问题。1.就是共享一个指针,函数内部赋值或者修改属性都会影响到外部对象,不可控。3.按共享传递。1.可以看作一个构造函数,函数内部赋值不会影响外面的对象,而修改对象的属性会影响到外部的对象。foo value: addr(0xFF) => {x: 100, y: 200} (address 0xFF) 0xFF)...
2020-07-13 00:07:01 128
原创 React - Hooks - useEffect
背景: 需要一个副作用的函数勾子:在熏染后执行。1.作为清除函数。useEffect(() => { const subscription = props.source.subscribe(); return () => { // 清除订阅 subscription.unsubscribe(); };});2.useEffect 会在浏览器绘制后延迟执行,但会保证在任何新的渲染前执行。如果想要在熏染前操作使用useLayoutEffectuseEffect
2020-06-19 01:11:40 184
原创 React - Hooks -useState
第一种用法: 可以传入默认参数// 第一种用法const [state, setState] = useState(initialState);第二种用法: 可以看作计算属性// 惰性state用法const [state, setState] = useState(() => { const initialState = someExpensiveComputation(props); return initialState;});...
2020-06-19 00:32:10 144
原创 js中call、apply、bind实现
bind实现函数柯里化来实现的// 常见的形式this.onPress.bind(this,params1,params2);context 是个函数Function.prototype.bind = function (context) { // 1设置变量 let _this = this || window; // 1拿到参数 let _args = Array.prototype.slice.call(arguments,1); return function() { _this
2020-05-18 02:11:20 114
原创 js原型--__proto__ 和constructor以及prototype关联关系
function Foo() {}; let f1 = new Foo();__proto__ 一层一层的找。/** * __proto__ 跟原型父对象有关主要针对属性。(最顶级的原型对象Object.prototype)。Object.prototype.__proto__ == null * constructor *解释了这个类;原型对象有一个constructor属性,指向该...
2020-04-27 23:42:50 139
原创 数组去重复数据
1.Set去重function useSet(array = [1,2,4,3,5,1,2]) { return Array.from(new Set(array))// return [...new Set(array)];}2.使用includesfunction useIncludes(array = [1,2,4,3,5,1,2]) { let newAr...
2020-04-27 23:28:57 165
原创 PostCss --- webpack的css处理工具
PostCss扩展支持特性(添加浏览器前缀,使用下一代CSS语法)#postcss.config.js新建其文件---配置module.exports = { plugins: [ // 需要使用的插件列表 require('postcss-cssnext') ]}// https://github.com/michael-ciniawsky/postcss-lo...
2020-04-14 18:54:10 175
原创 babel---webpack重要工具的使用
1.接入Babelmodule: { rules: [ { test: /\.js$/, use: ['babel-loader'], }, ] }2.设置babel的配置文件(其中plugins 需要那些插件,Presets预设新的语法特性)// a.可以使用.babelrc{ "presets": [ ...
2020-04-14 18:43:44 131
原创 Module---webpack处理模块的规则
1.包括3个重要的概念(test,include,exclude条件匹配;应用规则,重置顺序)module: { // 不去解析这些文件,提高构建性能 noParse: /jquery|lodash/, //不去解析jquery 和lodash的库的依赖,提高打包效率,这个属性也可以是函数 // 从 webpack 3.0.0 开始 noParse: function(content) ...
2020-04-14 17:01:01 226
原创 resolve---webpack配置寻找第三方模块的规则
// 优先级左到右,扩展名extensions: ['.ts','.jsx','.js','.json'];
2020-04-14 13:14:15 289
原创 externals---webpack之内置全局变量
externals: { // 通过script标签引入的全局变量,打包忽略。提升性能。 jquery: 'jQuery', react: 'React', 'react-dom': 'ReactDOM',}
2020-04-14 12:06:09 516
原创 DevServer---webpack的本地提升开发效率
inline: true, // 实时预览功能插入一个代理,代理客服端控制刷新(否则通过iframe)hot: true,// 模块热替换,从而实时预览open: true, // 运行是自动打开网页host: 127.0.0.0, // 默认是本地可以访问,可以设置其他设备访问// 只有一个html是设置true,不论什么都返回index.html,historyApiFallback...
2020-04-14 11:49:42 121
原创 output---webpack出口
主要属性 output: { path: path.resolve(__dirname, '../dist'), filename: '[name].[hash].js', // 单个文件直接写bundle.js publicPath: `/${appName}`, 默认"", // /mobile-learner/main.2eb1d94ecce97e67792a.j...
2020-04-14 10:50:03 102
原创 CSS常用动画效果
1.标题两边的小横杠<div class="title">标题</div>title { color: #e1767c; font-size: 0.3rem; position: relative; &:before, &:after { content: ""; position: absolute; di...
2020-04-10 16:00:44 263
原创 前端CSS代码片段提升开发效率
1.清除浮动// 清除浮动.clearfix:after { content: "\00A0"; display: block; visibility: hidden; width: 0; height: 0; clear: both; font-size: 0; line-height: 0; overflow: hidden;}.clearfix {...
2020-04-10 16:00:23 274
原创 css样式层叠和继承
1.样式的优先级层叠样式谁优先级高选谁内联样式style属性 > 外联样式style标签 > 外部样式文件 > 系统默认id > class > 标签 可以看成 100 > 10 > 1 表示这些权重2.样式常见的语法"#"id选择器"."class选择器" "后代选择器空格,前面必须是标签 div p {},缺陷p标签后面孙子的标签...
2019-11-04 15:07:49 206
原创 javasctript的继承
// Cat,有三个属性constructor,__proto__,prototype原型对象function Cat(name,color){ this.name=name; this.color=color;}// 自动绑定了construtor属性。let cat = new Cat('小黑','red');// 这个对象是如何构造成功的,指向该构造函数cat.cons...
2019-10-28 16:25:21 206
原创 Javascript的封装
Javascript 面向对象编程(一):封装确定实例之间没有联系。不能反映出它们是同一个原型对象的实例。没有指向他们的构造函数。function Cat(name,color) { return { name:name, color:color } }const cat1 = new Cat('大猫', 'red'); const cat2 = ...
2019-10-27 02:07:28 137
原创 prototype给继承的原型添加新的方法或者属性
String.prototype.toCharArray = function () { return Array.from({ length: this.length }).map((_it, index) => this.charAt(index));}String.prototype.reverse = function () { return this.toCharArr...
2019-10-26 14:06:20 127
原创 TypeScript基础类型
基础类型介绍为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。 TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。布尔值let isDone: boolean = false;数字let decLiteral: number = 6;let hexLiteral: number...
2019-09-05 10:45:18 489
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人