JS
JavaScript学习笔记
莫非C
这个作者很懒,什么都没留下…
展开
-
ES6学习笔记 —— Object.keys()
Object.keys() Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致。 Object.keys() 与for…in 循环遍历的区别 主要区别是 一个 for-in 循环还会枚举其原型链上的属性。 var obj = [1,2,3] var obj1 = { name: 'byu', age: 17, action: { 123: '123', 456: '456'原创 2020-12-28 14:05:41 · 606 阅读 · 0 评论 -
javascript —— js数组遍历方法总结
js数组遍历方法总结 for循环 使用临时变量,将长度缓存起来,当数组较大时优化效果才会比较明显。 for(let i = 0, len=arr.length; j < len; j++) { // } foreach循环 遍历数组中的每一项,没有返回值,对原数组没有影响,不支持IE。 //item数组中的当前项, index当前项的索引, array原始数组; //数组中有几项,那么传递进去的匿名回调函数就需要执行几次; arr.forEach((item,index,array)原创 2020-10-04 12:51:25 · 158 阅读 · 0 评论 -
Vue学习笔记 —— 注册组件
什么是组件化开发? 如果将一个页面所有的逻辑代码全部放在一起,当我们想要改变一些内容或者样式,处理起来会非常复杂,而且也不利于后续管理以及拓展。 我们可以将一个页面拆分成一个个小的功能模块,每个功能块完全属于自己这部分的独立功能,那么后面整个页面和维护就变得比较容易。 使用组件的好处: 减少代码量,提高开发效率 代码可以重复使用 更容易被管理和维护 便于协同开发 组件是由HTML+Css+Js组成 组件嵌套使用 组件它是可以在,任意组件中使用的,但是局部组件之间不可以直接相互使用,如果需要相互使用就原创 2020-09-16 21:31:11 · 155 阅读 · 0 评论 -
Vue学习笔记 —— Vue.directive自定义指令
Vue.directive —— 自定义指令 Vue中除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令,可以对纯 DOM 元素进行底层操作,这时候就会用到自定义指令。 创建全局自定义指令 使用Vue.directive()创建全局自定义指令。其中my-color为指令名称。 定义指令名称的时候,不需要加v-前缀,调用的时候,必须在名称前加上v-。 Vue.directive('my-color', function(el, binding, vnode){原创 2020-09-16 19:17:06 · 191 阅读 · 0 评论 -
javascript——cookie
cookie 储存在浏览器当中的缓存信息 必须安装环境:localhost或127.0.0.1开头/服务器 设置cookie document.cookie = 'name = cookie' console.log(document.cookie) 给cookie添加时效 //转化为毫秒值 var data = new Date(new Date().getTime() + 0.5*60*1000) document.cookie = 'name = cookie;expires=' + data.to原创 2020-07-10 15:38:53 · 68 阅读 · 0 评论 -
javascript——深、浅拷贝
浅、深拷贝 深拷贝和浅拷贝的区别 最根本的区别在于是否是真正获取了一个对象的复制实体,而不是引用。 深拷贝在计算机中开辟了一块内存地址用于存放复制的对象,而浅拷贝仅仅是指向被拷贝的内存地址,如果原地址中对象被改变了,那么浅拷贝出来的对象也会相应改变 实现浅拷贝(克隆、复制) var dese = { name: 'dese', age: '18', like: ['LOL', 'smoking', 'drinking'] girlFriend: { gf1: {name: 'gf1'}, g原创 2020-07-10 15:32:51 · 92 阅读 · 0 评论 -
javascript——面向对象(4、命名空间)
Json方式的面向对象(命名空间)—— 把方法包在一个Json里 命名空间的意义及写法 var miaov={}; miaov.common={ getByClass: function (){}, myAddEvent: function (){} }; miaov.fx={ startMove: function (){}, drag: function (){} }; miaov.common.getByClass() 优点:比较构造函数的形式更加简洁 缺点:复用性差 Json方式的面原创 2020-07-10 15:26:16 · 97 阅读 · 0 评论 -
javascript——引用类型
引用类型 var arr1 = [1,2,3] var arr2 = arr1 arr2.push(4) alert(arr1) //[1,2,3,4] alert(arr2) //[1,2,3,4] 其中的var arr2 = arr1,并不是将arr1复制了一份,出于程序性能的考虑,对于程序来说如果每次都将对象复制一份会比较耗时,造成性能上比较大的损失。 所以这里的赋值,只能将arr2指向arr1。所谓引用说白了,数组只是内存里的一块区域,引用就是这块区域的一个地址,而此时赋值的其实是这块区域的地原创 2020-07-10 15:26:49 · 61 阅读 · 0 评论 -
javascript——面向对象(3、继承)
继承 对一个对象实现继承,拆分来看,实际就是对该对象的属性和方法分别实现继承。所以继承可分成两步,即对属性的继承和对方法的继承。 对属性的继承:在子级构造函数中调用父级构造函数,实现对属性的继承 <script> function Person(name, sex) { this.name=name; this.sex=sex; } Person.prototype.showName=function () { alert(this.name); }; //--------------原创 2020-07-10 15:24:35 · 82 阅读 · 0 评论 -
javascript——面向对象(2、面向过程改写成面向对象)
如何将面向过程的程序,改写成面向对象的程序 原则:不能有函数套函数,但可以有全局变量 过程: 1、onload -> 构造函数 2、全局变量 -> 属性 3、函数 -> 方法 4、改错:this、事件、闭包、传参 示例:选项卡(面向过程) //js <script> window.onload=function () { var oDiv=document.getElementById('div1'); var aBtn=oDiv.getElementsBy原创 2020-07-10 15:10:23 · 350 阅读 · 0 评论 -
javascript——面向对象(1、工厂方式与构造函数)
1、什么是对象 对象是一个整体,对外提供一些操作。 2、什么是面向对象 使用对象时,只关注对象提供的功能,不关注其内部细节。 面向对象是一种通用思想,并非只在编程中运用 3、面向对象编程(OOP)的特点 封装:达到反复使用的目的 多态:父类和子类具有相同的操作,但是这些操作有各有区别 继承:从已有对象上,继承出新的对象 4、对象的组成 方法 —— 函数:过程、动态的 属性 —— 变量:状态、静态的 5、工厂方式构造对象 //最简单的,最原始的用来生产对象的方式 //用工厂方式构造对象 function cr原创 2020-07-10 14:58:30 · 79 阅读 · 0 评论