当前位置: 首页 > news >正文

网站建设和管理什么意思亚马逊电商运营新手入门

网站建设和管理什么意思,亚马逊电商运营新手入门,深圳设计网站培训学校,wordpress百度云存储目录 css 动画 深拷贝和浅拷贝 ES6新特性 事件循环 vue-router原理 flex布局 session和local storage分别是用来干嘛的#xff1f; http状态码 原型链 虚拟dom vuex的五个属性 vue路由跳转的四种方式 vue生命周期 link和import的区别 GET 与 POST 的区别 fle…目录 css 动画 深拷贝和浅拷贝 ES6新特性 事件循环 vue-router原理 flex布局 session和local storage分别是用来干嘛的   http状态码 原型链 虚拟dom vuex的五个属性 vue路由跳转的四种方式 vue生命周期 link和import的区别 GET 与 POST 的区别 flex:1 css 动画 1. 定义动画帧           keyframes 动画名{             from {               // 开始帧             }             to {               // 结束帧             }           } keyframes 动画名{             0% {               // 开始帧             }             20% { }             ...             100% {               // 结束帧             }           }         2. 设定动画贺卡           animation-name: move;             动画名           animation-duration: 2s;             持续时间           animation-timing-function: linear;             时间曲线函数自由落体贝塞尔曲线           animation-fill-mode:forwards;             填充模式动画结束后保留哪一帧规则           animation-iteration-count: 2;               动画迭代次数 infinite           animation-direction: alternate-reverse;                动画执行的方向 from-to , to-from           animation-play-state: paused;             动画状态           animation-delay: 1s;             延迟时间           animation: move 2s 1s 2 linear;             动画的速写形式       2) 案例呼吸灯       3) 案例梦幻西游     2. 动画库 animate.css       动画帧、动画设定规则都有第三方完成我们直接使用class即可       1) 引入动画库         link relstylesheet hrefhttps://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.css       2) 使用         1. 直接调用动画设定类           div classbox animate__animated animate__infinite animate__bounce/div         2. 引用关键帧           style             .bounce {               animation: flash 10s linear infinite;             }           /style           div classbox bounce/div     3. 过渡       过渡是轻量级的动画过渡中无需定义关键帧它解决的问题是当属性改变的时候实行缓缓改变。一般通过伪类来触发。过渡一定发生在属性值改变上状态发生变化的时候       transition-property: width;         过渡属性取值可以为多个多个值通过逗号分割关键字all 所有属性       transition-duration: 2s;         过渡持续时间       transition-delay: 0;         过渡延迟时间       transition-timing-function: linear;         时间曲线函数       transition:transform,background-color 2s,2s 0s linear;         速写形式     4. 变形       transform:变形函数       1. 缩放         scale(2)       2. 平移         translate(100px,50px)       3. 旋转         rotate(360deg)       4. 拉伸         skew(45deg) 深拷贝和浅拷贝 深拷贝值和引用地址一起拷贝 浅拷贝只拷贝引用地址不拷贝值共用内存 浅拷贝只是增加了一个指针指向已存在的内存地址仅仅是指向被复制的内存地址如果原地址发生改变那么浅复制出来的对象也会相应的改变。 深拷贝是增加了一个指针并且申请了一个新的内存使这个增加的指针指向这个新的内存。 Object.assign()拷贝的是属性值。假如源对象的属性值是一个对象的引用那么它也只指向那个引用。也就是说如果对象的属性值为简单类型如string number通过Object.assign({},srcObj);得到的新对象为深拷贝如果属性值为对象或其它引用类型那对于这个对象而言其实是浅拷贝的。 深拷贝的实现方法 json.stringify()你可以使用JSON.stringify()方法将数组转换为JSON字符串以及使用JSON.parse()方法将JSON字符串转换回数组 Object.create() 浅拷贝的实现方法 1.直接赋值 2.扩展运算符... 3.Object.assign ES6新特性 1.let和const let只在代码段有效var在全局都有效 let只能声明一次var可以声明多次 let没有变量提升但有作用域链 const一旦声明常量的值就不能改变必须赋值但是如果用const来声明数组或者对象则数组对象下的值可以改变原因是const指向的变量的地址没有发生改变 2.解构 3.模板字符串 通过模板字符串去保存较长的字符串数据不需要再使用大量的和来拼接字符串和变量。 4.扩展运算符 合并和聚合操作 5.对象的简写 6.函数功能新增 参数解构     rest函数     箭头函数 7.对象功能新增5 8.数组功能新增6 9.for-of遍历 遍历键值 for-in遍历键名 10.symbol 在对象中当做属性名使用保证每个属性的名字都是独一无二的 11.set聚合 数组去重Set的成员的不能通过索引的方式访问。size(个数)不能遍历 以 [value, value]的形式储存元素是无序的 add(value)新增相当于 array里的push。 delete(value)存在即删除集合中value。 has(value)判断集合中是否存在 value。 clear()清空集合。 便利方法遍历方法遍历顺序为插入顺序 keys()返回一个包含集合中所有键的迭代器。 values()返回一个包含集合中所有值得迭代器。 entries()返回一个包含Set对象中所有元素得键值对迭代器 12.map集合 new Map() 类似于 对象属于键值对集合但是此 键值 与 对象的键值 有所不同此键值可以包含 string / number / Object / Array 或 undefined 等等不能遍历 一个 Map的键可以是任意值包括函数、对象或任意基本类型key是有序的 以 [key, value] 的形式储存 set(key, value)向字典中添加新元素。     get(key)通过键查找特定的数值并返回。     has(key)判断字典中是否存在键key。     delete(key)通过键 key 从字典中移除对应的数据。     clear()将这个字典中的所有元素删除。 13.类class 14.迭代器 15.promise Promise对象用来封装一个异步操作并可以获取其成功/失败的结果值 三种状态pendingresolvedrejected Promise.all([p1, p2, p3])用于将多个promise实例包装成一个新的promise实例返回的实例就是普通的promise它接收一个数组作为参数 数组里可以是Promise对象也可以是别的值只有Promise会等待状态改变 当所有的子Promise都完成该Promise完成返回值是全部值的数组 有任何一个失败该Promise失败返回值是第一个失败的子Promise结果 Promise.all()方法通常用于处理需要同时获取多个数据的情况并将这些数据合并为一个结果返回。 Promise.allSettled() allSettled在其中一个promise返回错误时还可以继续等待结果 Promise.race()方法同样是将多个Promise实例包装成一个新的Promise实例但是只要有一个Promise 实例状态发生变化就将新的Promise实例的状态改变且终值由第一个完成的 Promise提供。 Promise.then(onFulfilled[, onRejected])。当 Promise 对象成功或失败时执行指定的函数。123 Promise.catch(onRejected)。当 Promise 对象失败时执行指定的函数。     Promise.finally(callback)。无论 Promise 对象成功或失败都会执行指定的函数 16.generator 17.async async 表示这是一个async函数 await只能用在async函数里面不能单独使用     async 返回的是一个Promise对象await就是等待这个promise的返回结果后再继续执行     await 等待的是一个Promise对象后面必须跟一个Promise对象但是不必写then()直接就可以得到返回值 事件循环 js是一门单线程非阻塞语言弱类型语言分为同步任务和异步任务 js引擎遇到一个异步事件后并不会一直等待其返回结果而是会将这个事件挂起继续执行执行栈中的其他任务。当一个异步事件返回结果后js会将这个事件加入与当前执行栈不同的另一个队列我们称之为事件队列。被放入事件队列不会立刻执行其回调而是等待当前执行栈中的所有任务都执行完毕 主线程处于闲置状态时主线程会去查找事件队列是否有任务。如果有那么主线程会从中取出排在第一位的事件并把这个事件对应的回调放入执行栈中然后执行其中的同步代码 JavaScript 是一门单线程语言异步操作都是放到事件循环队列里面等待主执行栈来执行的并没有专门的异步执行线程。 异步任务是指不进入主线程而进入任务队列的任务只有任务队列通知主线程某个异步任务可以执行了该任务才会进入主线程 1所有同步任务都在主线程上执行行成一个执行栈 2主线程之外还存在一个任务队列只要异步任务有了结果就会在任务队列中放置一个事件 3一旦执行栈中的所有同步任务执行完毕系统就会读取任务队列看看里面还有哪些事件那些对应的异步任务于是结束等待状态进入执行栈开始执行 4主线程不断的重复上面的第三步 异步任务包括微任务和宏任务微任务包括Promise、MutaionObserver、process.nextTick 宏任务包括script( 整体代码)、setTimeout、setInterval、I/O、UI 交互事件、setImmediate 1) 当某个宏任务执行完后,会查看是否有微任务队列。 2) 如果有先执行微任务队列中的所有任务 3) 如果没有会读取宏任务队列中排在最前的任务执行宏任务的过程中遇到微任务依次加入微任务队列。 4) 栈空后再次读取微任务队列里的任务依次类推。 栈先进后出队列先进先出 new promise 中的代码立即执行 vue-router原理 vue-router通过hash与History两种方式实现前端路由更新视图但不重新请求页面是前端路由原理的核心之一 目前在浏览器环境中这一功能的实现主要有两种方式 hash ---- 利用URL中的hash“#” History接口允许操作浏览器的曾经在标签页或者框架里访问的会话历史记录。它提供了一些属性和方法。 History接口不继承于任何属性 主要是HTML5的History API 为浏览器的全局history对象增加的扩展方法。 flex布局 弹性布局 通过为修改父div的display属性让父元素成为一个flex容器从而可以自由的操作容器中子元素(项目)的排列方式 容器属性 justify-content控制项目在横轴上的对齐方式 flex-start(默认) | flex-end | center | space-between align-items控制项目在纵轴上的对齐方式 flex-start | flex-end | center | baseline | stretch(默认) 默认stretch即如果项目没设置高度或高度为auto则占满整个容器 baseline让项目以第一行文字的基线为参照进行排列 flex-direction项目排列的方向和顺序 row(默认) | row-reverse | column | column-reverse flex-wrap项目是否换行 nowrap不换行默认wrap换行 项目属性 order用于决定项目的排列顺序 flex-grow项目在有默认空间时是否放大 0否1是 flex-shrink项目在空间不足时是否缩小 0否1是 flex-basis设置宽度权重比width高会覆盖width session和local storage分别是用来干嘛的   local storage: localStorage 的生命周期是永久的关闭页面或浏览器之后 localStorage 中的数据也不会消失。localStorage 除非主动删除数据否则数据永远不会消失,一般用于性能优化可以保存图片、js、css、html 模板、大量数据。只能存储字符串类型的对象5M 大小 session:session保存状态。用户在输入用户名密码提交给服务端服务端验证通过后会创建一个session用于记录用户的相关信息这个 session 可保存在服务器内存中也可保存在数据库中。 如果超过了超时时间没访问过服务器Session就自动失效了。 记录客户状态的机制不同的是Cookie保存在客户端浏览器中而Session保存在服务器上。客户端浏览器访问服务器的时候服务器把客户端信息以某种形式记录在服务器上。 客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了 sessionStorage: sessionStorage 的生命周期是仅在当前会话下有效。 在关闭了浏览器窗口后就会被销毁存放数据大小为一般为5KB cookie: cookie生命期为只在设置的cookie过期时间之前一直有效即使窗口或浏览器关闭。存放数据大小为4K左右, 有个数限制缺点是不能储存大数据且不易读取 http状态码 当浏览者访问一个网页时浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前此网页所在的服务器会返回一个包含HTTP状态码的信息头server header用以响应浏览器的请求。 下面是常见的HTTP状态码 1 - 服务器收到请求 2 - 请求成功 3 - 重定向 4 - 客户端错误 5 - 服务器错误 200 - 请求成功     201 - 已创建请求成功并成功创建新的资源     301 - 资源网页等被永久转移到其它URL     302请求重定向     304 - 未修改所请求的资源未修改服务器不会返回任何资源请求资源没有变访问本地缓存     403 - 服务器理解请求客户端的请求但拒绝执行此请求     401-需要用户验证     404 - 请求的资源网页等不存在     500 - 内部服务器错误 原型链 原型对象包含所有实例共享的属性和方法 每个构造函数都有一个原型对象 原型链就是实例对象和原型对象之间的链接。每个函数都有一个prototype属性这个prototype属性就是我们的原型对象我们拿这个函数通过new构造函数创建出来的实例对象这个实例对象自己会有一个指针(_proto_)指向他的构造函数的原型对象这样构造函数和实例对象之间就通过( _proto_ )连接在一起形成了链条。 虚拟dom 用js对象结构表示dom树的结构当数据变化时重新构建一颗新的对象树通过diff算法来对比新旧dom树的差异根据差异对真正的dom进行增删改 原生JS或JQ操作DOM时浏览器会从构建DOM树开始从头到尾执行一遍流程浪费性能 虚拟DOM就是为了解决浏览器性能问题而被设计出来的。如前若一次操作中有10次更新DOM的动作虚拟DOM不会立即操作DOM而是将这10次更新的diff内容保存到本地一个JS对象中最终将这个JS对象一次性attch到DOM树上再进行后续操作避免大量无谓的计算量。所以用JS对象模拟DOM节点的好处是页面的更新可以先全部反映在JS对象(虚拟DOM)上操作内存中的JS对象的速度显然要更快等更新完成后再将最终的JS对象映射成真实的DOM交由浏览器去绘制。 vuex的五个属性 statevuex的基本数据用来存储变量 geeter从基本数据(state)派生的数据相当于state的计算属性 mutation提交更新数据的方法必须是同步的(如果需要异步使用action)。每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。 action和mutation的功能大致相同不同之处在于 》1. Action 提交的是 mutation而不是直接变更状态。 2. Action 可以包含任意异步操作。 modules模块化vuex可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰方便管理。 vue路由跳转的四种方式 1. router-link 2. this.$router.push() (函数里面调用) 3. this.$router.replace() (用法同push) 4. this.$router.go(n) vue生命周期 创建 (数据初始化 挂载) 更新 销毁 beforeCreate created beforeMount mounted beforeUpdate Updated beforeDestroy destroyed 「beforeCreate创建前」 在组件实例被创建之前立即调用。此时组件的数据和事件还未初始化。 「created创建后」 在组件实例被创建后立即调用。组件的数据已经初始化但此时还未挂载到 DOM。 「beforeMount挂载前」 在组件挂载到 DOM 之前立即调用。此时模板编译完成但尚未将组件渲染到页面上。 「mounted挂载后」 在组件挂载到 DOM 后立即调用。此时组件已经渲染到页面上可以进行 DOM 操作。 「beforeUpdate更新前」 在组件数据更新之前立即调用。在此钩子函数内你可以访问之前的状态但此时尚未应用最新的数据。 「updated更新后」 在组件数据更新后立即调用。此时组件已经重新渲染可以进行 DOM 操作。 「beforeDestroy销毁前」 在组件销毁之前立即调用。此时组件仍然可用你可以执行一些清理工作。 「destroyed销毁后」 在组件销毁后立即调用。此时组件已经被完全销毁不再可用 link和import的区别 1.link是XHTML标签import是css提供的一种方式link除了引用css外还可以做很多事情定义rel连接属性 2.加载顺序的差别页面被加载的时候link引用的css会同时被加载而import引用的css要等页面都加载完才会被加载 3.兼容性import只有IE5以上才能被识别而link都可以识别 4.dom 只有link可以被dom操作 GET 与 POST 的区别 get请求请求的数据会附加在url之后以?分割URL和传输数据多个参数用连接 post请求post请求把请求的数据放置在http请求包的包体中 post比get更安全 GET请求只能进行url编码而POST支持多种编码方式。 GET请求在URL中传送的参数是有长度限制的,URL 的最大长度是 2048 个字符而POST么有 对参数的数据类型GET只接受ASCII字符而POST没有限制。 GET在浏览器回退时是无害的而POST会再次提交请求。 flex:1 就是代表均匀分配元素 flex: 1; flex: 1 1 auto; 第一个参数表示: flex-grow 定义项目的放大比例默认为0即如果存在剩余空间也不放大     第二个参数表示: flex-shrink 定义了项目的缩小比例默认为1即如果空间不足该项目将缩小     第三个参数表示: flex-basis给上面两个属性分配多余空间之前, 计算项目是否有多余空间, 默认值为 auto, 即项目本身的大小
http://www.w-s-a.com/news/267552/

相关文章:

  • 个人网站的基本风格是wordpress 模板选择
  • 南昌专业做网站公司有哪些广州市住房城乡建设部门户网站
  • 福州网站建设团队淘宝联盟网站怎么建设
  • 福州企业网站建站模板国内黑色风格的网站
  • 好看的网站首页设计android移动开发
  • 域名注册完成后如何做网站域名 删除 wordpress
  • wordpress xml导入大小东莞seo优化方案
  • 网站建设效益网站销售怎么做的
  • 利用网站空间做代理设计方案的格式范文
  • 无锡建设工程质量监督网站遵义做手机网站建设
  • 衡阳商城网站制作ps做网站首页规范尺寸
  • 微信网站应用开发营销推广的方案
  • 广州做网站商城的公司制作一个app的完整流程
  • 湖南城乡建设厅网站163注册企业邮箱
  • 做网站怎么调整图片间距织梦做的网站如何去掉index
  • 凡科网免费建站步骤及视频网页设计基础教程第二版课后答案
  • 建设一个旅游网站毕业设计企业网站要更新文章吗
  • 做网站需要简介中山网站设计公司
  • 网站怎么做导航栏微信公众号官网登录
  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.电子商城网站开发
  • 百度网站怎么建设河北省工程造价信息网官网
  • 阿里云网站模板网页设计的合适尺寸是多少
  • 做小程序和做网站哪个好让别人做网站推广需要多少钱
  • 做外贸的几个网站查询网域名解析
  • 酒泉如何做百度的网站seo研究中心好客站
  • 网站设计建设平台户县做网站
  • 一元云购网站开发wordpress博客空间
  • 深圳高端网站建设公司排名如何搭建局域网服务器
  • 照片管理网站模板高端网站开发哪家好
  • 黄冈网站制作wordpress为什么不能显示域名