![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Javascript
daysRoc
这个作者很懒,什么都没留下…
展开
-
Javascript对象和数组操作符——.和[]
JavaScript中对象和数组(数组也是对象),操作符主要有两种:. 和[]这两种有什么区别呢? 请看测试代码//读操作let temp={area_id:"1",county_id:"1",plate_no:"11",product:"40"};let d1=['area_id','county_id','product'];console.log(temp.area_id); //输原创 2017-07-20 16:22:44 · 376 阅读 · 0 评论 -
React编程中的常用技巧(欢迎拍砖)
1、变量初始化 在react组件编写的过程中,组件都需要输入参数,但是对于代码维护者来说,一个组件的使用,首先要知道它的输入。而React中的变量检查和默认值刚好可以做到,一方面可以校验变量,另一方面,可以把组件的输入参数表现出来。class Input extends React.Component { // ...}Input.defaultProps = { c...原创 2018-07-22 11:24:30 · 398 阅读 · 0 评论 -
Redux详解
redux 1、基本概念 redux其实就是一个页面状态管理的规约。store中的数据约定是不能改变的,只能重新生成store。 2、页面刷新带来的问题 store中的数据是存在内存中的,页面刷新会使store中的数据全部重置,所以不要期望页面刷新后能够从store中获取相应的数据,要想获得持久化的数据,可以从sessionStorage或者localStorag...原创 2018-07-22 14:57:03 · 316 阅读 · 0 评论 -
前端面向对象的编程
问:Javascript有对象么? 答:有。 问:你怎么理解面向对象的编程? 答:那我用code来说明下function Foo(who) { this.me = who;}Foo.prototype.identify = function() { return "I am " + this.me;};function Bar(who) { Fo...原创 2018-07-22 15:52:28 · 628 阅读 · 0 评论 -
你应该知道的JSON.stringify
最近做项目遇到了一个坑爹玩意,就是想后台发送数据,需要Json序列化,因为一些特别的原因,只需要序列化一部分内容,所以坑就出现了。var str = { "name":"donspeng", "site":"https://blog.csdn.net/Donspeng", 'test':{ 'deep':'这...原创 2018-08-22 18:34:59 · 548 阅读 · 0 评论 -
深入浅出—Redux源码
目录一、维护一个状态树、发布订阅1.1 dispatch1.2 subscribe1.3 getState1.4 replaceReducer1.5 [$$observable]: observable二、中间件三、工具函数3.1 compose3.2 combineReducers3.3 bindActionCreator附录阅读本文的前提条件,了解Redux基本概念。杂谈:&n...原创 2018-10-11 16:24:51 · 841 阅读 · 0 评论 -
前端异步操作大杂烩(ajax、fetch、promise、async/await)
写在前面的话一、为什么需要异步操作?二、服务器交互的异步(Ajax---->Promise---->Fetch)2.1 Ajax:2.2 Promise2.3 Fetch2.4 async/await三、实战利器参考链接前端工作中面临两个重要的问题:同步与异步操作。  同步操作,用户操作即时显示的,比如切换菜单,按钮点击效果等等。  异步操...原创 2018-10-08 16:49:09 · 1283 阅读 · 0 评论 -
前端你必须要知道的进程、线程和事件队列
一、浏览器的进程和线程      前端研发人员不要忘记了浏览器是安装在PC电脑(手机)上的应用。既然是客户端应用,就免不了一个问题:线程和进程。一个程序可以有多个进程;一个进程和多个线程;多个进程之间可以相互通信;多个线程之间可以相原创 2018-10-08 17:02:55 · 1209 阅读 · 0 评论 -
深入浅出—Redux-saga源码
redux中间件编写如何编写一个中间件呢?({dispatch, getState}) => next => action { // write your code here next(action)}上面的函数参数什么含义呢?{dispatch, getState}: dispatch和getState就是redux中常用的函数next: 就是下个中间件...原创 2018-10-16 11:28:44 · 1159 阅读 · 0 评论 -
Javascript中的数组在内存中是如何保存的?
写在前面的话数组基本概念数组的内存模型数组的基本操作遍历增删改查原创 2018-10-29 20:42:43 · 5735 阅读 · 0 评论 -
前端filter
其实数组的很多函数需要的参数都是一样的,arr.fun((item, index, arr) => { item: 数组的元素 index:数组元素在的位置 arr:整个数组})filter是数组的一个用法,用来返回一个数组,满足特定条件的数组中的元素let arr = [1, 2, 3, 4];let newArr = arr.filter((item, index, a...原创 2018-10-24 20:51:55 · 1325 阅读 · 0 评论 -
数组某一个元素置于数组首位
改变数组中一个元素的位置,通常有两种方法:改变原来的数组返回新数组改变原来的数组let values = [1, 3, 5, 7, 12, 10];let value = 12; //需要置于首位的元素let index = values.indexOf(12);if(index) { let first = values.splice(index , 1)[0];...原创 2018-10-30 10:51:31 · 5392 阅读 · 0 评论 -
详解React中的ref和context
React中的ref和context 前端设计到的两个重要问题:变化和异步。这两个总结起来就是:前端的状态管理。 状态管理主要分为三个方面的问题: 输入====》状态====》输出前端的状态管理有很多解决方案。无非就是一点,如何有逻辑、有层次地管理前端的状态。(毕竟,要实现一个功能很简单,如果瀑布流的代码编程,给代码维护者是一种灾难。)...原创 2018-07-22 00:35:44 · 1657 阅读 · 0 评论 -
Js实现轮播图
首先说明下轮播图的实现方式: 1、通过改变图片的位置,将图片放到一个div中,设置父元素的overflow为hidden,然后改变子div的位置,达到显示图片的目的 2、控制图片是否显示{ 1)改变图片的透明度, 2)改变图片的display属性 } 本文通过改变图片的display属性实现,话不多说,直接上代码<!DOCTYPE原创 2017-10-22 15:06:41 · 525 阅读 · 0 评论 -
Javascript数组和对象的遍历方法
本篇文章之列举最常用的遍历方法(后续用到继续更新) 1、对象的遍历 对象定义:var Person={};Person.name="Tom";Person.tel="123";Person.action=()=>{ console.log('Hello My name is'+this.name);}1)for infor(item in Person){ cons原创 2017-07-21 15:16:25 · 470 阅读 · 0 评论 -
Javascript中的数据结构
看到题目可能一脸懵逼,前端也需要数据结构?扯什么jb,写写样式、做做页面交互不就没了么? 坦白讲,一开始我也是这么认为的,实际上只要涉及编程,都会有数据结构和算法! 那么Js中的数据结构是什么样子的? 第一部分:Js中的基本数据类型(js大小写敏感) 简单数据类型:String number boolean null undefined symbol String:原创 2017-07-24 13:51:11 · 1442 阅读 · 0 评论 -
Javascript中的位操作
1、将数字转化为二进制的方法var num='16';console.log(num.toString(2));输出:100,忽略了高位的0一共有四种操作运算: 按位与、按位或、按位异或、取反 通过位操作代替相应的数字运算,提升速度,因为JavaScript本身底层就是二进制存储,减少了中间层的转化 例子(表格颜色交替):for(var i=0,len=rows.length;i<len;翻译 2017-07-24 16:13:24 · 456 阅读 · 0 评论 -
json对象循环遍历
测试的json对象:var testJson={ "errno": 0, "errmsg": "成功", "data": { "config_list": { "reg_conf": { "s":{原创 2017-07-24 21:23:20 · 9235 阅读 · 0 评论 -
理解javascript原型链
要理解javascript的原型链首先要明白javascript创建对象的方式 1、对象有数据属性和访问器属性,可以使用defineProperty来创建 数据属性具有四个特性: Configurable:能够通过delete属性删除而重新定义属性,默认true Enumerable:能够通过for in循环属性。默认true Writable:能够修改原创 2017-08-16 16:59:53 · 288 阅读 · 0 评论 -
Javascript中的Duck Typing
应用场景:流程控制 好处:去掉冗余的条件判断 通过实例来说明: 不使用Duck Typing:function bird(){ this.name="bird";}function duck(){ this.name="duck";}const type=(animal)=>{ if(animal instanceof bird){ consol原创 2017-07-25 15:50:54 · 1079 阅读 · 0 评论 -
JavaScript - this脱坑指南
由于js原先的特性,this的作用域是在执行的时候确定的,这样就会导致this指向不明确,es6中箭头函数 ()=>{} 箭头函数中this:是在定义的时候确定的 实质: 箭头函数中根本没有this,它只会引用外层函数的this,也就是我们为了防止this指向不明确,经常采用的this赋值: var _self=this; 箭头函数相当于在内部采用了这原创 2017-07-11 21:17:15 · 468 阅读 · 0 评论 -
Object.create
Object.create:创建新的对象,新对象完全引用原对象,新对象的改变完全不会影响元对象,常用来实现“继承”(ps:js中没有继承的说法)。var bird={ name:'bird', speak:function(){ console.log(this); console.log("I am a "+this.name); }}v原创 2017-07-25 19:51:15 · 455 阅读 · 0 评论 -
Javascript类型判断
1、typeof 可以判断基本的数据类型,但是对于array和null判断不出来 2、instanceof 判断是否是某一个对象的实例,实际上是判断原型链上是否存在 数组肯定是对象,但对象不一定是数组 3、constructor a.constuctor==Array 4、Object.prototype.toString.call(value)Object.prototype原创 2017-07-25 20:03:40 · 323 阅读 · 0 评论 -
Javascript继承
1、继承是和作用域有极大的关系 函数具有作用域 {}没有块级作用域(ES6中如果生命了let const就会有块级作用域) 外部作用域无法访问内部部作用域变量,内部可以访问外部 内部作用于搜索变量,先从自身搜索,再向上搜索 如果内部没有声明var 则会产生变量提升var age=10;function superType(){ age=12;原创 2017-09-02 12:14:14 · 404 阅读 · 0 评论 -
面向工资的编程
遇到到了一个问题有n个ajax请求,ajax[1],ajax[2],...,ajax[n],统计每个ajax请求的响应时间,要求:不修改源代码第一次听到这个问题,就想到了在ajax请求里面修改,但是如果对于一个老旧的项目,其实就不太合理了。 那么最好的方式就是面向切面的编程,搞过java的同学应该对这个并不陌生。那么在js中怎么实现面向切面的编程呢? 首先定义两个函数before和afterFu原创 2017-10-20 22:48:19 · 570 阅读 · 1 评论 -
手把手教你实现一个modal对话框
需求:1、点击一个按钮弹出对话框2、对话框的事件能够被父组件捕捉3、对话框里的内容能够随时改变一、如何实现一个对话框1.1 创建一个简单的对话框 简而言之,一个简单的对话框就是一个div(也可能是几个div),怎么创建呢?function createModal () { //创建一个div var modalDiv = docume...原创 2018-11-14 11:35:33 · 1881 阅读 · 0 评论