<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Galina Lin的博客]]></title><description><![CDATA[记录个人学习前端的知识点]]></description><link>https://blog.youkuaiyun.com/Vaen_Lin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Vaen_Lin]]></copyright><item><title><![CDATA[js 中的递归函数]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/113858174</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/113858174</guid><author>Vaen_Lin</author><pubDate>Fri, 19 Feb 2021 10:22:20 +0800</pubDate><description><![CDATA[以阶乘函数举例

通常写法


function factorial(num){    
   if (num &lt;=1) {         
      return 1;     
   } else {         
   return num * factorial(num-1)     
   } 
}  



运用arguments.callee对函数名进行解耦


function factorial(num){    
   if (num &lt;=1) {       ...]]></description><category></category></item><item><title><![CDATA[运用 Set 和 Array.from 对数组去重合并]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/113116439</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/113116439</guid><author>Vaen_Lin</author><pubDate>Mon, 25 Jan 2021 15:37:38 +0800</pubDate><description><![CDATA[运用 Set 和 Array.from 对数组去重


function combine(){
    let arr = [].concat.apply([], arguments);  //没有去重复的新数组
    return Array.from(new Set(arr));
}

var m = [1, 2, 2], n = [2,3,3];
console.log(combine(m,n));                     // [1, 2, 3]
...]]></description><category></category></item><item><title><![CDATA[JavaScript实现Base64编码解码]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/106664821</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/106664821</guid><author>Vaen_Lin</author><pubDate>Wed, 10 Jun 2020 14:28:53 +0800</pubDate><description><![CDATA[const Base64 = {
  _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

  encode: function (input) {
    var output = "";
    var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
    var i = 0;
    input = Base64._utf8_encode(input);
  .]]></description><category></category></item><item><title><![CDATA[禁止浏览器页面后退]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/106540560</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/106540560</guid><author>Vaen_Lin</author><pubDate>Thu, 04 Jun 2020 10:44:51 +0800</pubDate><description><![CDATA[function preventBack (currentUrl) {
    history.pushState(null, null, currentUrl);
    window.addEventListener('popstate', function () {
        history.pushState(null, null, currentUrl);
    });
}


pushState和popState的参数都有三个，分别是state、title、href。

state是一.]]></description><category></category></item><item><title><![CDATA[webpack 新版本的安装和使用]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/88692247</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/88692247</guid><author>Vaen_Lin</author><pubDate>Wed, 20 Mar 2019 16:56:17 +0800</pubDate><description><![CDATA[初始化文件
	新建项目文件夹webpack
		cnpm init，你会看到多了一个package.json配置文件
	
	安装webpack
	cnpm install -g webpack
		cnpm install --g webpack-cli
		cnpm install --save-dev webpack
		cnpm install --save-dev webpack-cli
...]]></description><category></category></item><item><title><![CDATA[JavaScript 简单实现单链表]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/80290019</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/80290019</guid><author>Vaen_Lin</author><pubDate>Sat, 12 May 2018 11:38:48 +0800</pubDate><description><![CDATA[一、节点function Node(element){
    this.element = element;
    this.next = null;
}二、链表function LinkedList(){
    this.head = new Node('head');
    this.find = find;
    this.insert = insert;
    this.rem...]]></description><category></category></item><item><title><![CDATA[矩阵类的实现]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/80288007</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/80288007</guid><author>Vaen_Lin</author><pubDate>Sat, 12 May 2018 00:54:21 +0800</pubDate><description><![CDATA[一、实现矩阵类及以下功能（1）编写一个4*4的矩阵类，定义构造函数、复制构造函数；（2）重载运算符“+”和“-”实现矩阵的相应运算；（3）重载运算符&amp;lt;&amp;lt;实现矩阵数据的输出。二、代码（1）头文件 matrix.h#include&amp;lt;iostream&amp;gt;
using namespace std;

class Matrix{
private:
	int row;
	int col;...]]></description><category></category></item><item><title><![CDATA[五大算法：分治、动态规划、贪心、回溯和分支界定]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79967594</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79967594</guid><author>Vaen_Lin</author><pubDate>Mon, 16 Apr 2018 22:56:43 +0800</pubDate><description><![CDATA[一、分治算法一、基本概念        在计算机科学中，分治法是一种很重要的算法。字面上的解释是“分而治之”，就是把一个复杂的问题分成两个或更多的相同或相似的子问题，再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解，原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础，如排序算法(快速排序，归并排序)，傅立叶变换(快速傅立叶变换)……        任何一个可以用计算机求解的问...]]></description><category></category></item><item><title><![CDATA[JSONP和JSON]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79576043</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79576043</guid><author>Vaen_Lin</author><pubDate>Fri, 16 Mar 2018 00:33:31 +0800</pubDate><description><![CDATA[一、什么是JSON？        JSON是一种轻量级的数据传输格式，被广泛应用于当前Web应用中。JSON格式数据的编码和解析基本在所有主流语言中都被实现，所以现在大部分前后端分离的架构都以JSON格式进行数据的传输。        那么JSONP呢？抛出浏览器同源策略这个概念，为了保证用户访问的安全，现代浏览器使用了同源策略，即不允许访问非同源的页面，也就是说在ajax中，不允许请求非同源的...]]></description><category></category></item><item><title><![CDATA[利用Hexo在GitHub搭建个人的Blog]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79349099</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79349099</guid><author>Vaen_Lin</author><pubDate>Thu, 22 Feb 2018 19:27:25 +0800</pubDate><description><![CDATA[本文转载自 https://guangzhul.github.io/2017/03/09/搭建个人博客第一步，在开始之前我们先要配置好要操作的环境，接下来我将教大家如何去给自己的电脑配置环境node.js 自己到官网去下载node.js，这是一个js运行的环境，帮助你到时候的页面加载，安装过程简单，可以一直点击next即可。Git 这个软件的安装也不会有难度，一直next能够顺利安装，该软件的用途...]]></description><category></category></item><item><title><![CDATA[Vue.js 组件]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79343342</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79343342</guid><author>Vaen_Lin</author><pubDate>Wed, 21 Feb 2018 17:27:24 +0800</pubDate><description><![CDATA[一、什么是组件组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素，封装可重用的代码。在较高层面上，组件是自定义元素，Vue.js 的编译器为它添加特殊功能。二、组件类型1、全局组件&amp;lt;div id=&quot;app&quot;&amp;gt;
    &amp;lt;runoob&amp;gt;&amp;lt;/runoob&amp;gt;
&amp;lt;/div&amp;gt;
 
&amp;lt;script&amp;gt;
// ...]]></description><category></category></item><item><title><![CDATA[Vue.js学习笔记]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79342126</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79342126</guid><author>Vaen_Lin</author><pubDate>Wed, 21 Feb 2018 15:05:03 +0800</pubDate><description><![CDATA[一、安装 Vue.js安装node.js下载相应版本的 node.js，下载地址：https://nodejs.org/en/download/。安装完成后，cmd调出命令面板，输入 node -v回车，显示相应版本则安装成功，node环境已经安装完成。安装cnpm，因为npm安装插件是从国外服务器下载，受网络影响大，可能出现异常，所以还需要npm的国内镜像---cnpm。在命令行中输入 npm ...]]></description><category></category></item><item><title><![CDATA[清除浮动的各种方法]]></title><link>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79313203</link><guid>https://blog.youkuaiyun.com/Vaen_Lin/article/details/79313203</guid><author>Vaen_Lin</author><pubDate>Sun, 11 Feb 2018 23:00:58 +0800</pubDate><description><![CDATA[一、浮动的定义及效果        网页开发写CSS时常见的就是浮动，那浮动的定义是什么呢，一个浮动元素会尽量向左或向右移动，直到它的外边缘碰到包含框或另一个浮动框的边框为止。也就是说浮动元素会脱离文档流并尽量向左/向右浮动，直到碰到它的父元素或者另一个浮动元素。浮动后的元素会有以下的效果：浮动会脱离文档流，尽量向左或向右移动，后面的元素会随文档流补上。浮动可以实现多个块级元素分布在一行的布局，既...]]></description><category></category></item></channel></rss>