<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Aspen66的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Aspen66</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Aspen66]]></copyright><item><title><![CDATA[原生js实现call、apply以及bind方法的功能]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/107110977</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/107110977</guid><author>Aspen66</author><pubDate>Fri, 03 Jul 2020 18:03:04 +0800</pubDate><description><![CDATA[1.call()方法
Function.prototype.newCall = function(context){
  // 1 判断context是否为object，如果是object就代表可能是Object 或者 null，如果不是就赋值一个空对象
  if (typeof context === 'object') {
    context = context || window //  context 如果是null就会赋值为window
  } else {
    context = Obj]]></description><category></category></item><item><title><![CDATA[浅谈对单例模式的理解（JS）]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106869105</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106869105</guid><author>Aspen66</author><pubDate>Sat, 20 Jun 2020 11:10:34 +0800</pubDate><description><![CDATA[1.单例模式的核心作用
保证一个类只有一个实例对象，并且为此实例对象提供一个全局访问点。
2.常见的应用场景
（1）Windows的任务管理器、回收站；
（2）操作系统的文件系统；
（3）应用程序的日志；
（4）网站的计数器；
（5）项目中读取配置文件；
（6）数据库连接点；等等很多。
3. 单例模式的优点
（1）只有一个实例对象，减少了内存和性能的开销，特别是当一个对象占用很多资源时，不用重复创建，可以用永久暂存的方式来解决重复创建带来的内存问题。
（2）优化环共享资源访问。
4.创建单例模式的方式
饿汉]]></description><category></category></item><item><title><![CDATA[在一个排序的链表中，存在重复的结点，请删除该链表中重复的结点，重复的结点不保留，返回链表头指针（js代码）]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106758644</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106758644</guid><author>Aspen66</author><pubDate>Mon, 15 Jun 2020 11:13:07 +0800</pubDate><description><![CDATA[1.题目描述
在一个排序的链表中，存在重复的结点，请删除该链表中重复的结点，重复的结点不保留，返回链表头指针。 例如，链表1-&gt;2-&gt;3-&gt;3-&gt;4-&gt;4-&gt;5 处理后为 1-&gt;2-&gt;5。
2.代码实现
/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function deleteDuplication(pHead)
{
    
    if (pHead == null]]></description><category></category></item><item><title><![CDATA[请实现一个函数用来找出字符流中第一个只出现一次的字符（js代码）]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106756735</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106756735</guid><author>Aspen66</author><pubDate>Mon, 15 Jun 2020 09:51:02 +0800</pubDate><description><![CDATA[1.题目描述
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如，当从字符流中只读出前两个字符"go"时，第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时，第一个只出现一次的字符是"l"。
如果当前字符流没有存在出现一次的字符，返回#字符。
2.具体实现
//Init module if you need
var b="";
function Init()
{
    // write code here
    b="";
}
//Insert one char fr]]></description><category></category></item><item><title><![CDATA[给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]（js代码）]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106756374</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106756374</guid><author>Aspen66</author><pubDate>Mon, 15 Jun 2020 09:32:52 +0800</pubDate><description><![CDATA[1.题目描述
给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。（注意：规定B[0] = A[1] * A[2] * … * A[n-1]，B[n-1] = A[0] * A[1] * … * A[n-2];）
2.具体代码
function multiply(array)
{
    // write code here
    var B=[];
    
   // cons]]></description><category></category></item><item><title><![CDATA[请实现一个函数用来判断字符串是否表示数值（包括整数和小数）（js代码）]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106752742</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106752742</guid><author>Aspen66</author><pubDate>Sun, 14 Jun 2020 22:09:31 +0800</pubDate><description><![CDATA[1.题目描述
请实现一个函数用来判断字符串是否表示数值（包括整数和小数）。例如，字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。
2.具体实现
//s字符串
function isNumeric(s)
{
    // write code here
    var n=0;
    if(s[s.length-1]=="."||s[s.length-1]=="e"||s[s.]]></description><category></category></item><item><title><![CDATA[用两个栈来实现一个队列，完成队列的Push和Pop操作。 队列中的元素为int类型。(js)]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106711242</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106711242</guid><author>Aspen66</author><pubDate>Fri, 12 Jun 2020 10:50:37 +0800</pubDate><description><![CDATA[1.题目描述
用两个栈来实现一个队列，完成队列的Push和Pop操作。 队列中的元素为int类型。
2.代码
var res=[];
function push(node)
{
// write code here
for(var i=res.length;i&gt;0;i–){
res[i]=res[i-1];
}
res[0]=node;
return res;
}
function pop()
{
// write code here
var pro=res[res.length-1];
res.sp]]></description><category></category></item><item><title><![CDATA[把一个数组最开始的若干个元素搬到数组的末尾，我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转，输出旋转数组的最小元素。(js代码)]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106711176</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106711176</guid><author>Aspen66</author><pubDate>Fri, 12 Jun 2020 10:48:48 +0800</pubDate><description><![CDATA[1.题目描述
把一个数组最开始的若干个元素搬到数组的末尾，我们称之为数组的旋转。
输入一个非递减排序的数组的一个旋转，输出旋转数组的最小元素。
例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转，该数组的最小值为1。
NOTE：给出的所有元素都大于0，若数组大小为0，请返回0。
题目写的天华乱坠，其实就是找一个乱序数组中的最小值。
2.代码
function minNumberInRotateArray(rotateArray)
{
// write code here
if(rotateAr]]></description><category></category></item><item><title><![CDATA[大家都知道斐波那契数列，现在要求输入一个整数n，请你输出斐波那契数列的第n项（从0开始，第0项为0，第1项是1）。(js代码)]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106711112</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106711112</guid><author>Aspen66</author><pubDate>Fri, 12 Jun 2020 10:46:51 +0800</pubDate><description><![CDATA[1.题目描述
大家都知道斐波那契数列，现在要求输入一个整数n，请你输出斐波那契数列的第n项（从0开始，第0项为0，第1项是1）。
n&lt;=39
2.代码
function Fibonacci(n)
{
var f1=0;
if(n&gt;2){
f1=Fibonacci(n-1)+Fibonacci(n-2);
}
else if(n==0){
f1=0;
return f1;//不加会超时
}
else{
f1=1;
return f1;//不加会超时
}
return f1;
}
运行时间：1903]]></description><category></category></item><item><title><![CDATA[在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的，但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。（js代码）]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106711062</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106711062</guid><author>Aspen66</author><pubDate>Fri, 12 Jun 2020 10:44:33 +0800</pubDate><description><![CDATA[1.题目描述
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的，但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如，如果输入长度为7的数组{2,3,1,0,2,5,3}，那么对应的输出是第一个重复的数字2。
2.代码
function duplicate(numbers, duplication)
{
    // write code here
    //这里要特别注意~找到任意重复的一个值并赋值到duplication[0]
 ]]></description><category></category></item><item><title><![CDATA[jQuery常用API总结（1）]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106697367</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106697367</guid><author>Aspen66</author><pubDate>Thu, 11 Jun 2020 22:00:19 +0800</pubDate><description><![CDATA[1.jQuery选择器
//（1）jQuery基础选择器

$('div')//标签选择器
$('*')//通用选择器
$('#id')//id选择器
$('.class')//类选择器

//(2)复合选择器

$('div,p,ul')//并集选择器
$('ul&gt;li')//子代选择器（亲儿子）
$('ul li')//后代选择器
$('li.current')//交集选择器

//(3)jQuery筛选选择器

$('div:first')//第一个div
$('div:last')//最后一个]]></description><category></category></item><item><title><![CDATA[jQuery的入门总结]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106697013</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106697013</guid><author>Aspen66</author><pubDate>Thu, 11 Jun 2020 21:22:27 +0800</pubDate><description><![CDATA[1.jQuery的简介
没有jQuery时，用原生的js来获取页面元素以及对页面元素进行操作，很不方便。为了操作DOM元素更加方便，便有了jQuery库，库是预先封装了很多函数的集合，与框架和组件有区别，主要强调封装和函数集合。jQuery带来的便利可以类似于楼梯变为电梯的区别。目前主要使用3.x版本，1.x和2.x已不再更新。
1.1 jQuery的顶级对象为$
向原生js的顶级对象为window一样，jQuery的顶级对象为。其中。其中。其中可替换成jQuery。
1.2 jQuery的入口函数
（1）]]></description><category></category></item><item><title><![CDATA[浅谈对TCP与UDP的理解]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106691079</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106691079</guid><author>Aspen66</author><pubDate>Thu, 11 Jun 2020 16:49:33 +0800</pubDate><description><![CDATA[1.UDP
UDP全称为User Datagram Protocol，即用户数据报协议。面向无连接的协议，属于传输层协议。
1.1 特点
（1）可一对多传输。 UDP的数据包头中最主要的是目的和源端口号，并且因为它不需要建立一对一的连接，因此可以一对多传输，并且可以向任何端口传输，任何端口可向它传输。
（2）传输过程简单。因为只需要关注目标端口号，没有其他复杂的包头结构，因此传输过程简单。
（3）无法可靠性传输。不能进行数据包的序号确认，因此无法保证数据的顺序也可能出现丢包情况。
1.2 可应用的实际场景
]]></description><category></category></item><item><title><![CDATA[不用加减乘除符号的情况下实现加法运算(js代码)]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106683297</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106683297</guid><author>Aspen66</author><pubDate>Thu, 11 Jun 2020 10:49:13 +0800</pubDate><description><![CDATA[1.题目描述
写一个函数，求两个整数之和，要求在函数体内不得使用+、-、*、/四则运算符号。
2.解题思路
根据按位异或，可得到没有进位的加法结果，关键在于怎么把进位再与得到的结果相加，才可以得到最后的结果。其中进位的情况是两个都为1时，与按位与运算的逻辑结果一致，但进位是与前一位相加，因此需要左移一位。
3.具体的代码实现
function Add(num1, num2)
{
    // write code here
    //按位异或得到的无进位的加法
    //按位与并且左移一位为进位值，进位]]></description><category></category></item><item><title><![CDATA[不能使用字符串转换整数的库函数情况下  将一个字符串转换成一个整数（javascript代码）]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106682894</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106682894</guid><author>Aspen66</author><pubDate>Thu, 11 Jun 2020 10:37:27 +0800</pubDate><description><![CDATA[1.题目描述
（1）题目输入描述：
输入一个字符串,包括数字字母符号,可以为空。
（2）题目输出描述
如果是合法的数值表达则返回该数字，否则返回0。
2.解题思路
关键在于：“0”-“9”字符的ASCII码值为48-57，可通过字符的减法，求出代表的数字大小，即“9”-“0”等于数字9。通过每求出一位数字，之前的结果*10，这样就能把字符串转化为整数。特殊的，需要处理带有“+”、“-”符号的字符串，并且此符号只能出现在第一个字符的位置。
3.具体的代码实现
function StrToInt(str)
{
]]></description><category></category></item><item><title><![CDATA[实现web与串口通信（java的RXTXComm包的导入问题）]]></title><link>https://blog.youkuaiyun.com/Aspen66/article/details/106674694</link><guid>https://blog.youkuaiyun.com/Aspen66/article/details/106674694</guid><author>Aspen66</author><pubDate>Wed, 10 Jun 2020 21:03:31 +0800</pubDate><description><![CDATA[1.RXTXComm包的导入问题： 在用eclipse导入java包时总会遇到很多问题，特别是带有dll文件的包的使用。此包会带有两个dll文件。在使用的过程中，我出现过按照一般的导包过程，之间建立libs文件夹，然后直接从项目的build path中导入的方式，但这种方式对于此包不管用，只是java不会报错了，但是运行服务器之后，还是会出现问题，无法使用。因此，有以下导包的过程。
2.RXTXComm包的导入过程：
（1）首先保证包的版本32位或者64位应该与jdk一致。
（2）然后找到java安装目录，]]></description><category></category></item></channel></rss>