<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[luo1990xing的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/luo1990xing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; luo1990xing]]></copyright><item><title><![CDATA[如何发布和使用npm包]]></title><link>https://blog.youkuaiyun.com/luo1990xing/article/details/109259062</link><guid>https://blog.youkuaiyun.com/luo1990xing/article/details/109259062</guid><author>luo1990xing</author><pubDate>Sat, 24 Oct 2020 14:29:39 +0800</pubDate><description><![CDATA[我们开发的项目中有一些模块可以当成公共模块提出来，例如用户管理，很显然复制拷贝太不合适了。如果可以打包成npm每次下载就很好了。

其实很简单：

npm create mynpm

登陆npm:

npm login

输入用户名密码

发布：

npm publish

发布的过程可能会报错，根据提示修改即可

发布完成，下载测试

npm i mynpm
...]]></description><category></category></item><item><title><![CDATA[js判断 变量是不是数组]]></title><link>https://blog.youkuaiyun.com/luo1990xing/article/details/104202957</link><guid>https://blog.youkuaiyun.com/luo1990xing/article/details/104202957</guid><author>luo1990xing</author><pubDate>Thu, 06 Feb 2020 21:45:40 +0800</pubDate><description><![CDATA[letdata = [1,2]

方法1：

Array.isArray(data)

结果：true

方法2：

console.log(data instanceof Array)

结果：:true

方法3：

console.log(data.__proto__.constructor)

结果：ƒ Array() { [native code] }

方法4：

Object....]]></description><category></category></item><item><title><![CDATA[vue数据绑定实现原理。以及defineproterty和proxy区别]]></title><link>https://blog.youkuaiyun.com/luo1990xing/article/details/104174944</link><guid>https://blog.youkuaiyun.com/luo1990xing/article/details/104174944</guid><author>luo1990xing</author><pubDate>Tue, 04 Feb 2020 21:28:35 +0800</pubDate><description><![CDATA[我们通过三个问题来分解下上面的问题

1.前端面试经常会问到一个问题，vue的数据绑定是怎么实现的？

答：vue2.x是通过defineProterty劫持对象的属性的get和set方法，当访问属性和获取属性，就可以执行相应的操作。

我们用代码实现下数据劫持：


   let obj  = {};
   Object.defineProperty(obj,'name',{
        g...]]></description><category></category></item><item><title><![CDATA[关于Promise和async/await的关系]]></title><link>https://blog.youkuaiyun.com/luo1990xing/article/details/103917061</link><guid>https://blog.youkuaiyun.com/luo1990xing/article/details/103917061</guid><author>luo1990xing</author><pubDate>Thu, 09 Jan 2020 23:20:12 +0800</pubDate><description><![CDATA[1.什么是promise?

promise是es6里面用于处理异步方法的对象，

promise会有三种状态：

pedding进行中

fulfilled 成功

rejected 失败

成功会在then中返回，失败在catch中捕获

缺点：

promise的返回必须在then链中获取，用起来不方便

2.async/await

async是声明一个异步的方法，当调用一个 as...]]></description><category></category></item><item><title><![CDATA[重力操作图片移动（小程序）]]></title><link>https://blog.youkuaiyun.com/luo1990xing/article/details/53910036</link><guid>https://blog.youkuaiyun.com/luo1990xing/article/details/53910036</guid><author>luo1990xing</author><pubDate>Wed, 28 Dec 2016 16:48:25 +0800</pubDate><description><![CDATA[废话不说直接上代码]]></description><category></category></item><item><title><![CDATA[微信小程序canvas画图功能实现]]></title><link>https://blog.youkuaiyun.com/luo1990xing/article/details/53889495</link><guid>https://blog.youkuaiyun.com/luo1990xing/article/details/53889495</guid><author>luo1990xing</author><pubDate>Mon, 26 Dec 2016 21:40:12 +0800</pubDate><description><![CDATA[废话不说直接上代码
// canvas.js
var x1,y1;
var ctx = wx.createCanvasContext('firstCanvas'),i=0,j=0;
var colorArray='#000000';
Page({
  EventHandleStart: function(event) {
    x1 = event.touches[0].x;
y]]></description><category></category></item><item><title><![CDATA[js页面传参中使用的编码和解码函数]]></title><link>https://blog.youkuaiyun.com/luo1990xing/article/details/30219555</link><guid>https://blog.youkuaiyun.com/luo1990xing/article/details/30219555</guid><author>luo1990xing</author><pubDate>Thu, 12 Jun 2014 09:53:29 +0800</pubDate><description><![CDATA[js对文字进行编码涉及3个函数：escape,encodeURI,encodeURIComponent，相应3个解码函数：unescape,decodeURI,decodeURIComponent]]></description><category></category></item></channel></rss>