javascript
文章平均质量分 74
Live wild
对喜欢的东西从一而终
展开
-
vue项目中利用splice方法实现table行的上移下移
vue项目中利用splice方法实现table行的上移下移splice 方法实现代码实现效果splice 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。array.splice(start, deleteCount, item1, item2,…)start: 修改的开始位置deleteCount:要移除或要替换的元素个数。(如果为0,则添加元素)item1, item2, … :要添加进数组的元素,从start 位置开始。如转载 2022-03-16 14:18:58 · 936 阅读 · 0 评论 -
跨域——跨域的解决方案
跨域浏览器的同源策略: 请求资源时,浏览器要求当前网页和请求资源的server必须同源。同源: 协议、域名、端口三者必须一致。当url中协议、域名、端口号任意一个不相同时,都算作不同域,不同域之间相互请求资源,就算做“跨域”。处理跨域的方法:1. jsonpjsonp的原理:利用script标签不受跨域限制和服务器端配合动态拼接字符串返回来实现跨域。浏览器脚本动态创建script标签,并且给script的src属性加入了callback参数,浏览器端还要定义callback,callba原创 2020-08-18 15:12:28 · 330 阅读 · 0 评论 -
JavaScript字符串和数组去重方法总结
字符串去重面试中被问到字符串去重的问题,当时脑子有点空白,下来总结一下:1. 两层for循环嵌套新建一个字符串,两层循环,外层循环原字符串,内层循环新字符串,设一个标志位记录源字符串和新字符串的元素是否相等,如果不等,就将元素添加到新字符串中。function removeRepeatStr(str){ var newStr = ''; var flag; var len = str.length; for(var i=0; i<len; i++){原创 2020-08-14 19:51:16 · 3403 阅读 · 0 评论 -
arr.reduce使用和源码实现
1. reduce的使用数组方法 reduce 用来迭代一个数组,并且把它累积到一个值中。使用 reduce 方法来让 array 中的所有值相加。<!DOCTYPE html><html><head><meta charset="utf-8"><title>reduce的使用</title></head><body> <script>var arr = [1, 2, 3,原创 2020-08-07 13:40:30 · 558 阅读 · 0 评论 -
js常用的日期方法
var myData = new Date() //Thu Mar 19 2020 21:26:45 GMT+0800 (中国标准时间)myDate.toLocaleDateString() //"2020/3/19"myDate.toLocaleTimeString() //"下午9:26:45"myDate.toLocaleString( ) //"...原创 2020-03-19 21:44:45 · 352 阅读 · 0 评论 -
对象的常用方法
1. for in 遍历对象的属性2. Object.keys()Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致。const obj = { a: 2, b: 1, c: 0}for (let value of Object.keys(obj)) { cons...原创 2020-03-18 23:14:02 · 2490 阅读 · 0 评论 -
异步、同步以及异步的各种解决方法
1. 异步和同步js是单线程语言,遇到等待(网络请求、定时任务)不能卡住,所以需要异步。同步和异步的区别:同步同时只能做一件事情,会阻塞代码的执行,异步可以同时进行多个操作,不会阻塞代码的执行异步通过callback形式调用。//异步 通过callback形式调用 异步不会阻塞代码执行console.log(100)setTimeout(() => { ale...原创 2020-01-08 21:12:27 · 1700 阅读 · 1 评论 -
跨域解决方法——jsonp原理
一个域名地址的组成:当协议、子域名、主域名、端口号任意一个不相同时,都算作不同域,不同域之间相互请求资源,就算做“跨域”。由于浏览器同源策略的限制,非同源下的请求,都会产生跨域问题。使用jquery的jsonp可以发起跨域请求,下面来探究下他的原理及使用。首先看下如何使用<script src="">来完成一个跨域请求:普通的ajax请求是会发生跨域问题的,但是img的s...原创 2020-01-04 21:31:53 · 451 阅读 · 0 评论 -
JS基础知识04——this的绑定规则及优先级
this在不同应用场景中,如何取值???this的使用场景有:作为普通函数被调用使用call,apply,bind被调用作为对象方法被调用作为对象方法中的函数被调用箭头函数中被调用在class中被作为方法调用this在各个场景中取什么样的值是在函数执行的时候确认的,不是在函数定义的时候确认的。1. 作为普通函数被调用function fn1() { console...原创 2020-01-06 21:29:43 · 390 阅读 · 0 评论 -
实现深拷贝的几种方式
1. JSON.stringify()以及JSON.parse()但是这种方法是不可以拷贝 undefined , function, RegExp 等等类型的var obj5 = { a: 1, b: 2, c: 3}var objString = JSON.stringify(obj5);var obj6 = JSON.parse(objString);ob...原创 2020-02-28 09:39:31 · 5410 阅读 · 0 评论 -
JS基础语法01——变量类型和计算
一. 变量类型变量类型包括: Null Undefined Number String Object Boolean Function Symbol(ES6)1. 基本类型 VS 引用类型//基本类型let a = 100let b = aa = 200console.log(b) //100//引用类型let c = { age: 20 }let d = cc.age...原创 2020-02-26 15:48:46 · 185 阅读 · 0 评论 -
JS基础知识03——作用域和闭包
1. 环境和作用域环境分为全局环境(全局作用域)和局部环境(函数作用域和块级作用域)作用域即作用范围,全局变量的作用域是全局,函数内定义的变量作用域就是函数内部,一个代码块内定义的变量作用域就是这个代码块内。函数每次被调用时会开辟一个内存空间(环境),用于存放函数内定义的内容。执行结束后会内存空间被释放,所以函数每次执行开辟的内存空间是不同的。 let a = 1; functio...原创 2020-01-05 21:54:39 · 283 阅读 · 0 评论 -
原型和原型链的理解
在典型的面向对象的语言中,如java,都存在类(class)的概念,类是对象的模板,对象是类的实例。但是javascript中创建对象不是基于‘类的’,而是通过构造函数(constructor)和原型链(prototype chains)实现的。在ES6中引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。基本上,ES6的class可以看作只是一个语法糖,它的绝大部...原创 2019-12-25 13:38:09 · 811 阅读 · 0 评论 -
理解JS事件委托
面试被问到事件代理(事件委托),之前没有了解过,表示一脸懵逼。。。1.首先记住给一个元素注册多个事件的方法:我们平常注册事件的方式是: div1.onclick = function(){ console.log('hello'); }; div1.onclick = function(){ console.log('world'); }...原创 2019-12-20 20:22:29 · 141 阅读 · 0 评论 -
js实现轮播图
js实现轮播图html页面展示区为wrap,里面第一部分是大图,第二部分是索引点,第三部分是向前向后按钮。<div class="wrap"> <ul class="list"> <li class="item active"><img src="./images/images/1.jpg"></li> ...原创 2019-12-18 19:41:05 · 166 阅读 · 0 评论 -
类的创建与继承
在面向对象(oo)编程中,类(class)是对象(object)的模板,定义了同一组对象(实例)共有的属性和方法。JavaScript语言里没有类的概念,但是我们通过以下方法也可以模拟出类。一.创建类:(1)构造函数function Person(name,age){ this.name = name; this.age = age; this.sayName = f...原创 2019-12-11 15:53:03 · 828 阅读 · 0 评论 -
for-in循环会遍历原型链上可枚举的所有属性
for-in循环能不能遍历出原型链上的属性?使用for-in循环,返回的是所有能够通过对象访问的、可枚举的属性,其中既包括存在于实例中的属性,又包括存在于原型中的属性。屏蔽了原型中不可枚举属性的实例属性也会在for-in循环中返回。——《JavaScript高级程序设计》for-in循环会遍历原型链上可枚举的所有属性。屏蔽了原型中不可枚举属性的实例属性也会在for-in循环中返回。默认不可...原创 2019-12-10 10:40:01 · 3693 阅读 · 0 评论 -
面向对象编程
面向对象编程(oop)JavaScript语言的对象体系,不是基于类(class),而是基于构造函数(constructor)和原型链(prototype)。构造函数和new命令构造函数是专门用来生成实例对象的函数。构造函数的特点有三个:1.为了与普通函数区别,构造函数名字的第一个字母通常大写。2.函数体内部使用了this关键字,代表了所要生成的对象实例。3.生成对象的时候,必须使用...原创 2019-11-29 21:24:10 · 234 阅读 · 0 评论 -
完美运动框架
最近几天重温了javascript的一些基础知识,以前学起来很吃力的东西,现在看来也没那么难懂,很多基础知识用多了就会熟练。但有些基础知识确实是我之前学习的不够扎实,比如定时器的应用。下面是封装的一个完美运动框架函数,解决了运动框架的很多bug。//获取非内联样式的函数。function getStyle(obj,name){ if(obj.currentStyle){ ...原创 2019-11-29 19:11:57 · 164 阅读 · 0 评论