
JavaScript
摇摆小仙
这个作者很懒,什么都没留下…
展开
-
关于 npm publish问题
最近打包上传到npm的时候遇到一些问题, 整的脑壳疼, 这里记录一下, 以备查阅, 如果对你有用, 记得点赞请首先确保注册了 npm 的账号如果官网打不开, 那么可能是你打开的方式不对, 需要科学上网npm publish 404执行 npm adduser, 输入姓名/密码/邮箱提示你登录成功以后再执行 npm publishnpm publish 403邮箱需要验证, 请进入npm官网,点它!!! 进去验证, 然后再试试发布npm publish 401 npm config s原创 2021-03-24 17:14:29 · 1503 阅读 · 0 评论 -
base64与16进制的转换
主要是为了解决base64中的特殊字符在url中携带时可能会出现的各种解析错误问题原创 2020-04-27 18:04:25 · 14232 阅读 · 2 评论 -
new Date() 在微信分享中的坑
最近在项目中有一个抽奖的模块,由于需要设置抽奖开始时间,在模块首页就使用了计时器,也很简单,就是拿当前时间跟游戏开始时间作比较 // 活动倒计时 timeId = setInterval(() => { let startTime = new Date('2019-12-01 00:00:00') let currentTime = new Date(...原创 2019-11-24 11:36:29 · 200 阅读 · 0 评论 -
btoa 和 atob 的用法
btoa ( binary to ascii ) 和 atob ( ascii to binary ) 是 window的两个对象, 用于将字符串转为 base64 编码以及将 base64 编码解密为 字符串 // Define the string var string = 'hello world!' // Encode the string var encodeString =...原创 2019-10-25 17:49:09 · 4415 阅读 · 0 评论 -
前端面试题之完成Session对象,使其符合要求
题目:完成Session对象,使其符合要求,可适当为Session添加属性 var Session = { data:{}, init:function(){ // data由两个ajax请求返回的数据组成,必须两个都拿到数据之后才能执行 var _this=this;...原创 2019-08-18 17:08:25 · 215 阅读 · 0 评论 -
给对象部署Iterator接口
Iterator ( 遍历器 ) 的概念JavaScript原有的表示"集合"的数据结构, 主要有数组 ( Array ) 和对象 ( Object ), ES6又天津爱了Map和Set. 这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map, Map的成员是对象.这样就需要一种统一的接口机制,来处理所有不同的数据结构.遍历器 ( Iterator ) ...原创 2019-08-25 09:32:53 · 1159 阅读 · 0 评论 -
axios中get参数的序列化
我们在项目中使用axios的时候,可能会对其进行一层封装,以处理后台接口还没有出来的时候,我们可能需要通过mock.js来模拟后台接口的情况. 但是在这种情况下,get请求的参数可能就不太好处理.我们可以通过判断axios中请求方式是不是get来对携带的参数进行对应的处理.这个需要在请求拦截器中判断 // get 参数序列化 export default function serialize...原创 2019-08-25 09:50:48 · 2622 阅读 · 0 评论 -
面试题看JS执行机制
题目一: var x = 10 function fn() { console.log(x) } function show(f) { var x = 20 f() } show(fn) //10这个题如果一定要解释的话可能...原创 2019-08-15 22:11:17 · 900 阅读 · 0 评论 -
js 实现数字千位分隔符和小数点
moneyFormat(moneyStr) { // 先将数值取两位小数 let str = (Math.round(moneyStr * 100) / 100).toString() // 找到小数点的下标 let pointIdx = str.indexOf('.') // 如果没有小数点 if (pointIdx...原创 2019-08-23 14:58:45 · 2436 阅读 · 1 评论 -
关于js的防抖和节流
啥是防抖啥是节流??在JS中有时候我们会不经意的去频繁地触发一些事件,比如说onmouseover和onscroll,我明明只想触发一次,但是他好像被触发了n次,想想看,如果我们在这些事件中有发送请求去操纵数据库,那对于后台来说是多么可怕的消耗啊.而所谓防抖和节流就是用来解决这个问题的防抖事件只有在n秒内不被触发才会再次执行它会有一个执行的时间,规定时间内如果你再次去触发了,那么会重新开...原创 2019-08-09 10:15:17 · 197 阅读 · 0 评论 -
函数参数的默认值--从变量对象和活动对象的角度解释
最近在看 ES6 函数形参默认值语法的时候发现一段代码: function bar(x = y, y = 2) { return [x, y]; } bar(); // 报错上面代码中,调用bar函数之所以报错,是因为参数x默认值等于另一个参数y,而此时y还没有声明,属于”死区“。如果y的默认值是x,就不会报错,因为此时x已经声明了。我当时特别不能理解, 我觉得这段函数...原创 2019-06-29 18:28:34 · 409 阅读 · 0 评论 -
js交换两个变量的值
1. 借用第三方变量 let num1 = 10 let num2 = 20 let temp = num1 num1 = num2 num2 = temp console.log(num1,num2) // 20, 102.算数运算法(名字自己取的) let num1 = 10 let n...原创 2019-06-26 10:47:13 · 1407 阅读 · 2 评论 -
闭包与变量
JS高程中关于闭包与变量这一节,讲到一个案例,我当时看的一脸懵逼,然后就自习的研究了一下,先上代码: function createFunctions(){ var result = new Array(); for (var i=0; i < 10; i++){ result[i] = function(){ return i; }; ...原创 2019-05-24 23:10:33 · 406 阅读 · 1 评论 -
js之水果选择小案例
案例中有四个按钮,第一个将左边的下拉框内容全部移动到右边,第二个将右边的下拉框内容全部移动到左边,第三个将左边选中的移动到右边第四个将右边选中的移动到左边<script> var left = my$('selLeft'); var right = my$('selRight'); // 全部移动到右边的点击事件 my$('btn1').o...原创 2019-05-17 22:49:04 · 1492 阅读 · 0 评论 -
JS祝福墙小案例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equ...原创 2019-05-18 00:22:12 · 1154 阅读 · 1 评论 -
js实现全屏滚动 --基于fullPage插件的研究
最近做个一个小项目首页是全屏滚动的,当时我们选择了fullPage.js的插件,当时觉得就是一个纵向的轮播图而已,实现起来应该是比较简单的,抽时间研究了一下,这里总结一下遇到的问题和收获.Html代码(参考fullPage写的)<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-...原创 2019-06-07 09:26:43 · 345 阅读 · 0 评论 -
数组去重
var arr = ['M4', 'UMP9', 'AK47', 'AK47', 'M762', 'AWM', 'AK47', 'Scar'];方法一: 开关思想 //新建一个数组用来存放去重后的元素 var newArr = []; // 创建一个用来帮助判断的变量 var flag; // 遍历数组 for (var i = 0; i < arr.length; i...原创 2019-06-07 19:48:48 · 128 阅读 · 0 评论 -
关于 if 语句内的 function 声明提升
最近在看ES6 的书的时候发现了这样一段代码, 将的是块级作用域的问题function f() { console.log('I am outside!'); }(function () { if(false) { // 重复声明一次函数f function f() { console.log('I am inside!'); } } f();}());上面...原创 2019-06-18 20:25:01 · 2354 阅读 · 0 评论 -
JS中实现继承小结
继承是面向对象语言的一个特征,js作为一门基于对象的语言,可以通过原型链来模拟继承.主要是通过构造函数来模拟类的概念,父级的构造函数拥有共有的属性和方法,子级的构造函数有特有的属性和方法,并通过继承来获取父级的属性和方法.// 先定义一个父类function Animal(name,sex) { // 实例属性 this.name = name; this.sex = sex; //...原创 2019-06-09 23:04:10 · 281 阅读 · 0 评论 -
for 循环中 i 的按顺序输出
for(var i = 0; i < 5; i++){ setTimeout(function() { console.log(i) },50) } console.log('哦吼~') // '哦吼~' //5 //5 //5 //5 //5 为...原创 2019-06-19 19:59:12 · 3359 阅读 · 0 评论 -
关于"ECMAScript中所有函数的参数都是按值传递的"
JS高级程序设计—> 4.1.3中提到:“ECMAScript中所有函数的参数都是按值传递的”为了证明这个论点,举了一个例子:function setName(obj) { obj.name = "Nicholas"; obj = new Object(); obj.name = "Greg"; } var person = new Object(); setNam...原创 2019-04-30 09:46:40 · 375 阅读 · 1 评论