
javascript
编码要得劲
努力学习
展开
-
项目常用配置(慢慢更新)
Vue3中保存自动格式化代码在eslint的setting.json中添加/* *这一段是Vue3的配置,勿删!!! */ "vetur.format.defaultFormatter.js": "vscode-typescript", "vetur.format.defaultFormatter.html": "js-beautify-html", /* *eslint是JavaScript的语法规则校验器! */原创 2020-12-10 15:40:17 · 160 阅读 · 0 评论 -
node开发基础
学习node开发需要准备node环境,具体可以百度学习node开发的好处1,可以使用JavaScript语法开发后端应用2,一些公司需要前端工程师掌握node开发3,生态系统活跃(使用者较多),有大量的开源库可以使用4,前端开发工具大多基于Node开发Node.js基础语法所有的ECMAScript语法(DOM和BOM不算)再Node环境都可以使用再node环境下执行代码,使用No...原创 2019-08-13 17:46:41 · 160 阅读 · 0 评论 -
js原生轮播图
思路:首先要知道需求,先从简单的地方入手,然后一步一步的去改进,但是首先要想好做每一步目的,原因,不要只知道代码是这么写的,而不去想为什么要这么做。动画函数封装 function animate(obj, target, callback) { //做动画的对象,需要移动的距离,回调函数 clearInterval(obj.timer); obj...原创 2019-08-07 09:58:20 · 198 阅读 · 0 评论 -
js对象
3种创建对象的方式对象字面量:var obj={name: value, name2,value2};new object:var obj=new Object();构造函数创建 :function obj(){ this.name=value; //实例成员 this.name2=value2; //实例成员 this.fn1=function(){}; //实例...原创 2019-08-11 21:39:30 · 140 阅读 · 0 评论 -
js中ES5新方法
1,循环数组,过滤数组,检查数组循环: forEach(),map()这两个都是循环数组,但是forEach没有返回值,而map有返回值;forEach可以理解为让在遍历每个元素的时候,去做一件事,而不用返回值,在遍历是return会不起作用,不会中断遍历,除非程序异常map可以理解为让每个元素去做一件事,然后返回这个新值,返回的是一个数组的形式,必须有返回值,如果没有return,则默认...原创 2019-08-11 23:09:23 · 229 阅读 · 0 评论 -
js中call,apply,bind的区别
使用方法3个都相同,函数后面直接调用call: fn.call(); apply:fn.apply() bind: fn.bind();相同点都可以改变函数内部this的指向区别点1,call和apply都会立马调用,并改变函数里this的指向 2,call和apply传递的参数不一样,第一个相同,都是传递你要把原来函数里的this指向改变为你所需要的那个对象,第二个参数不同点如下:...原创 2019-08-12 11:09:57 · 92 阅读 · 0 评论 -
ES5新增的严格模式
严格模式的作用1, 消除了 Javascript 语法的一些不合理、不严谨之处,减少了一些怪异行为。2, 消除代码运行的一些不安全之处,保证代码运行的安全。3, 提高编译器效率,增加运行速度4, 禁用了在 ECMAScript 的未来版本中可能会定义的一些语法,为未来新版本的 Javascript 做好铺垫。比 如一些保留字如:class, enum, export, extends, i...原创 2019-08-12 11:52:25 · 110 阅读 · 0 评论 -
js闭包和递归函数解释加案例
闭包的概念:在一个作用域里调用另外一个作用域的局部变量闭包的作用:扩大局部变量的使用范围闭包的缺点:使用过多可能会造成内存的泄露,因为原来函数内部的变量使用完后就应该被销毁,释放内存,但是由于闭包里的函数还得要继续使用某一些变量,所以这些变量不会被销毁,闭包使用过多的话就会导致内存的泄露了总结:闭包不一定是好的,使用前要考虑好是否有必要使用闭包...原创 2019-08-12 18:55:15 · 241 阅读 · 0 评论 -
ES6中对let cons的解释
let :代码块内有效,相当于{}内有效,使用let声明的不存在变量声明提升,所以不能再定义前使用,即使再代码块外部有相同名的变量,也无法再里面提前使用比如:var one=10;if(true){ console.log(one); //会报错,因为再这个代码块中,下面有let 声明one这个变量,所以不能这样用 let one=20; console.log(one) //...原创 2019-08-13 10:47:53 · 212 阅读 · 0 评论 -
ES6剩余参数的接收于使用
通常再一个函数中要接受多个参数,可能是已知的个数,可能是为止的个数,所以再写形参的时候会比较麻烦,再ES6中有新的方式来写这个形参使用格式 …name name自定义名字//格式function fn(a,b,...arr){//表示前面两个形参接受相对应位置的实参,然后剩下的实参都有 ...arr来接收 console.log(a+b,...arr) //3 3 4 5 6 7 8...原创 2019-08-13 12:04:44 · 894 阅读 · 0 评论 -
js中的节流与防抖
防抖总结:只会在最后一次触发的时候去执行 <script> var btn=document.querySelector('button'); var time=null; btn.onclick=function() { if(time)clearTimeout(time); time...原创 2019-09-20 19:13:52 · 143 阅读 · 0 评论 -
js中字符串常用api
更多使用方法请参考 https://blog.youkuaiyun.com/grapelove01/article/details/80532566获取字符串长度 str.length分割字符串 str.split()拼接字符串 str1+str2 或 str1.concat(str2)替换字符串 str.replace(“玩游戏”,”好好学习”)提取子字符串 str.slice(start, en...原创 2019-08-02 12:39:47 · 792 阅读 · 0 评论 -
js数组api
一、添加1、push() 方法将一个或多个元素添加到数组的末尾,并返回数组的新长度。2、unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。二、删除1、pop() 方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。2、shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。三、操作1、concat() 方法...原创 2019-08-02 12:27:34 · 236 阅读 · 0 评论 -
js中的基本包装类型
为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String Number Boolean基本包装类型 就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性何方法 var str = "andy"; console.log(str.length);按道理基本数据类型是没有属性和方法的,而对象才有属性和方法,但上面代码却可以执行,这是应为js会把基...原创 2019-08-02 15:33:27 · 105 阅读 · 0 评论 -
js里的堆和栈
堆和栈空间分配的区别1,栈(操作系统) :由操作系统自动分配释放存放函数的参数值、局部变量的值等,其操作方式类似于数据结构中的栈;简单数据类型存放到栈里面2,堆(操作系统):存储复杂类型(对象),一般有程序员分配释放,若程序员不释放,由垃圾回收机制回收。复杂数据类型存放到堆里面注意:js中并没有堆栈的概念,通过堆栈的方式,可以让打击更容易理解代码的一些执行方式,便于将来的学习...原创 2019-08-04 09:36:15 · 698 阅读 · 0 评论 -
js数据类型传参的区别
简单数据类型传参简单数据类型它们之间传参是直接传值的,如果发生修改,则直接改变原值例1、var num = 10;num = 20; //在这里就直接修改原来的num的值了, //但是在内存中并没有把原来的10给删除,而是在内存中新建了一个内存来存放这个新值console.log(num) //很简单 = 20例2、function fn(a) { a++;...原创 2019-08-04 10:11:43 · 203 阅读 · 0 评论 -
移动端触摸事件
移动端中的触摸事件1,touchstart 当手指碰到的那一瞬间触发该事件2,touchmove 当手指再元素上移动出发的事件3,touchend 当手指离开元素时触发该事件触摸事件对象(touchEvent)属性:1,touches 正在触摸屏幕的所有手指的一个列表d2,targetTouches 正在触摸当前DOM元素的手指列表如果侦听的是同一个DOM元素,它们两个是一样的3...原创 2019-08-08 12:01:55 · 97 阅读 · 0 评论 -
DOM操作经典案例
DOM操作经典案例百度换肤案例鼠标移进移出变色(行变色)表单全选全取消案例tag导航栏切换案例百度换肤案例百度换肤案例就是当你点击一张图片时,当前的背景图片就为你所点击的这张图片,实现起来也比较简单,就是更改一下backgroundImage的url路径js代码: <script> var img=document.querySelectorAll('img')...原创 2019-08-05 14:34:43 · 2152 阅读 · 0 评论 -
自调函数(立即执行函数)
理解:不需要另外被调用,立马能够执行自己的函数写法:1,(function(a, b){ console.log(a+b)})(参数1,参数2)2,(function (a,b){ console.log(a+b)}(参数1,参数2))主要作用:创建了一个独立的作用域,避免了命名冲突,...原创 2019-08-06 14:49:22 · 249 阅读 · 0 评论 -
ES6中Array扩展的方法
1,原创 2019-08-13 13:03:00 · 232 阅读 · 0 评论 -
ES6中的模板字符串
所谓的模板就是将原来的+变量改为了${变量}使用方法如下:let name = `张三`;let sayHello = `Hello, 我的名字叫 ${name} `; console.log(sayHello); //Hello, 我的名字叫张三 let result = {name: "zhangsan",age: 20};let html = `<d...原创 2019-08-13 13:08:25 · 190 阅读 · 0 评论 -
ES6新增的字符串方法
startsWith方法和endsWith方法用于检查某段字符串是否以xx开头或结束let str = 'Hello ECMAScript 2015';let r1 = str.startsWith('Hello'); //true ,检查是否以hello开头console.log(r1);let r2 = str.endsWith('2016'); //false,因为不是以201...原创 2019-08-13 13:13:18 · 256 阅读 · 0 评论 -
ES6中的Set()
set是一种数据结构,也是一个构造函数,再set里面的数据是唯一的,大多用来储存数据 const s1 = new Set(); //声明一个set数据类型 console.log(s1.size) //不传参它的长度为0 const s2 = new Set(["a", "b"]); console.log(s2.size)...原创 2019-08-13 13:24:24 · 158 阅读 · 0 评论 -
js中时间API
new Date()创建一个日期对象常用方法:方法名说明getFullYear()获取当年getMonth()获取当月getDate()获取当天日期getDay()获取星期几(周日0 到 周六6)getHours()获取当前小时getMinutes()获取当前分钟getSeconds()获取当前秒钟getTime() ...原创 2019-08-02 15:24:17 · 1241 阅读 · 0 评论