<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jth_wl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jth_wl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jth_wl]]></copyright><item><title><![CDATA[关于nodejs中exports 和 module.exports 的区别]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/79212879</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/79212879</guid><author>jth_wl</author><pubDate>Wed, 31 Jan 2018 09:09:13 +0800</pubDate><description><![CDATA[我理解的exports 和 module.exports 的区别，欢迎大家吐槽~

为了更好的理解exports和module.exports的关系，我们先来补点 js 基础。示例：

app.js


var a = {name: 'nswbmw 1'};
var b = a;

console.log(a);
console.log(b);

b.name = 'nswbmw 2';
...]]></description><category></category></item><item><title><![CDATA[Js获取数组中的最大值和最小值]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78863838</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78863838</guid><author>jth_wl</author><pubDate>Thu, 21 Dec 2017 14:57:25 +0800</pubDate><description><![CDATA[方法一：在数组的原型上加方法 
//最小值 
Array.prototype.min = function() { 
    var min = this[0]; 
    var len = this.length; 
    for (var i = 1; i < len; i++){  
            if (this[i] < min){  
            min = t]]></description><category></category></item><item><title><![CDATA[对象转换为数组的方法]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78853076</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78853076</guid><author>jth_wl</author><pubDate>Wed, 20 Dec 2017 14:43:10 +0800</pubDate><description><![CDATA[Array.from方法用于将两类对象转为真正的数组：类似数组的对象（ array-like object ）和可遍历（ iterable ）的对象（包括 ES6 新增的数据结构 Set 和Map ）。





[javascript] view
 plain copy






let arrayLike = {  
'0': 'a',  
'1': 'b',]]></description><category></category></item><item><title><![CDATA[es6 javascript中的class理解]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78671128</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78671128</guid><author>jth_wl</author><pubDate>Wed, 29 Nov 2017 23:07:53 +0800</pubDate><description><![CDATA[类相当于实例的原型， 所有在类中定义的方法， 都会被实例继承。 如果在一个方法前， 加上static关键字， 就表示该方法不会被实例继承， 而是直接通过类来调用， 这就称为“ 静态方法”。





[javascript] view
 plain copy






class Foo {  
    static classMethod() {  
     ]]></description><category></category></item><item><title><![CDATA[JavaScript中的document.cookie的使用]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78661514</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78661514</guid><author>jth_wl</author><pubDate>Wed, 29 Nov 2017 09:24:11 +0800</pubDate><description><![CDATA[我们已经知道，在 document 对象中有一个 cookie 属性。但是 Cookie 又是什么？“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息，这些文件就称为 Cookie。”—— MSIE 帮助。一般来说，Cookies 是 CGI 或类似，比 HTML 高级的文件、程序等创建的，但是 javascript 也提供了对 Cookies 的很全面的访问权利。

　　我们先要]]></description><category></category></item><item><title><![CDATA[javascript闭包详解]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78651772</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78651772</guid><author>jth_wl</author><pubDate>Tue, 28 Nov 2017 09:47:23 +0800</pubDate><description><![CDATA[1.什么是闭包？

所谓闭包：在一个函数作用域中 保留 它上级作用域的局部变量，这些局部变量不会随着上级函数的执行完毕而被销毁。

简单的理解闭包：子函数可以使用父函数的局部变量（包括参数，因为参数也是局部变量）；

 



[javascript] view
 plain copy






function test() {  
        var]]></description><category></category></item><item><title><![CDATA[childNodes中nodeType的12种类型]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78604367</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78604367</guid><author>jth_wl</author><pubDate>Wed, 22 Nov 2017 15:38:34 +0800</pubDate><description><![CDATA[ELEMENT_NODE                   = 1;   元素节点
    ATTRIBUTE_NODE                 = 2;   属性节点
    TEXT_NODE                      = 3;   文本节点
    CDATA_SECTION_NODE             = 4;   CDATA 区段
    ENTITY_R]]></description><category></category></item><item><title><![CDATA[js实现接口的几种方式]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78540425</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78540425</guid><author>jth_wl</author><pubDate>Wed, 15 Nov 2017 14:26:26 +0800</pubDate><description><![CDATA[Javascript模仿接口可以有三种方式：1.注释法 2.检查属性法 3.鸭式辨形法 

1.注释法:此方法属于程序文档范畴，对接口的继承实现完全依靠程序员自觉


/*
   interface People{
         function createHead();
         function createBody();
   }
*/
var woman = fun]]></description><category></category></item><item><title><![CDATA[WebApp 里Meta标签大全，webappmeta标签大全]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78477066</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78477066</guid><author>jth_wl</author><pubDate>Wed, 08 Nov 2017 11:54:53 +0800</pubDate><description><![CDATA[1.先说说mate标签里的viewport：

viewport即可视区域，对于桌面浏览器而言，viewport指的就是除去所有工具栏、状态栏、滚动条等等之后用于看网页的区域。对于传统WEB页面来说，980的宽度在iphone上显示是很正常的，也是满屏的，但对于webapp而言，可能就有点问题了，在iphone上我们的webapp在竖屏下通常宽度都是320。

因此我们必须改变viewpo]]></description><category></category></item><item><title><![CDATA[深入解析js中基本数据类型与引用类型，函数参数传递的区别]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78458541</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78458541</guid><author>jth_wl</author><pubDate>Mon, 06 Nov 2017 15:54:50 +0800</pubDate><description><![CDATA[ECMAScript的数据有两种类型：基本类型值和引用类型值，基本类型指的是简单的数据段，引用类型指的是可能由多个值构成的对象。


Undefined、Null、Boolean、Number和String是值类型，其他都是引用类型。其他语言String是以对象的形式表示，ECMAScript放弃了这一传统。

内存中的存储区域

值类型存储在栈中，引用类型存储在堆中。内存中是分为两]]></description><category></category></item><item><title><![CDATA[深入理解JavaScript中的堆与栈 、浅拷贝与深拷贝]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78348008</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78348008</guid><author>jth_wl</author><pubDate>Wed, 25 Oct 2017 23:04:59 +0800</pubDate><description><![CDATA[JavaScript中的浅拷贝与深拷贝


  学了这么长时间的JavaScript想必大家对浅拷贝和深拷贝还不太熟悉吧，今天在项目中既然用到了，早晚也要理清一下思路了，在了解之前，我们还是先从JavaScript的数据类型存放的位置 堆栈开始说起吧!           


现在我们带着问题来学习！

一：什么是堆栈？

  我们都知道：在计算机领域中，堆栈是两种数据结构，]]></description><category></category></item><item><title><![CDATA[Javascript中call和apply的区别与详解]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78347876</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78347876</guid><author>jth_wl</author><pubDate>Wed, 25 Oct 2017 22:48:55 +0800</pubDate><description><![CDATA[在js中call和apply它们的作用都是将函数绑定到另外一个对象上去运行，两者仅在定义参数方式有所区别,下面我来给大家介绍一下call和apply用法。

在web前端开发过程中，我们经常需要改变this指向，通常我们想到的就是用call方法，但是对于call的理解很多人不是很清晰，那么下面小编就给大家详细说一说call和apply的详细知识

一、call方法的定义

大家在百度里]]></description><category></category></item><item><title><![CDATA[caller和callee的区别]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78347458</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78347458</guid><author>jth_wl</author><pubDate>Wed, 25 Oct 2017 22:13:07 +0800</pubDate><description><![CDATA[caller返回一个函数的引用，这个函数调用了当前的函数;callee放回正在执行的函数本身的引用，它是arguments的一个属性

caller
caller返回一个函数的引用，这个函数调用了当前的函数。
使用这个属性要注意:
1 这个属性只有当函数在执行时才有用
2 如果在javascript程序中，函数是由顶层调用的，则返回null


functionName.call]]></description><category></category></item><item><title><![CDATA[Function的含义]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78245076</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78245076</guid><author>jth_wl</author><pubDate>Sun, 15 Oct 2017 22:40:17 +0800</pubDate><description><![CDATA[函数定义
//函数声明式定义
function foo(num1,num2){
    return num1 + num2;
}
//函数表达式定义
var foo = function(num1,num2){
    return num1 + num2;
};
//使用Function构造函数定义
var foo = new Function("num1","num2","return n]]></description><category></category></item><item><title><![CDATA[数组去重的四种方法]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78239365</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78239365</guid><author>jth_wl</author><pubDate>Sun, 15 Oct 2017 11:24:33 +0800</pubDate><description><![CDATA[1.最基本的去重方法

思路：定义一个新数组，并存放原数组的第一个元素，然后将元素组一一和新数组的元素对比，若不同则存放在新数组中。

function unique(arr){

　　var res = [arr[0]];

　　for(var i=1;i

　　　　var repeat = false;

　　　　for(var j=0;j

　　　　　　if(ar]]></description><category></category></item><item><title><![CDATA[js中数组Array的一些常用方法总结]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78239350</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78239350</guid><author>jth_wl</author><pubDate>Sun, 15 Oct 2017 11:23:21 +0800</pubDate><description><![CDATA[Array()是我们在js中常常写到的代码，今天就总结哈Array的对象具有哪些方法，感兴趣的朋友可以了解下

var list = new Array()是我们在js中常常写到的代码，今天就总结哈Array的对象具有哪些方法。 

list[0] = 0; 

list[1] = 1; 

list[2] = 2; 

或者这样声明：var list = [0,1,2]]]></description><category></category></item><item><title><![CDATA[封装getByClass（JS获取class的方法封装为一个函数）]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78206240</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78206240</guid><author>jth_wl</author><pubDate>Wed, 11 Oct 2017 17:30:45 +0800</pubDate><description><![CDATA[JS获取class的方法一：
普通版：

function getByClass(oParent, sClass)
{
 var aEle=oParent.getElementsByTagName('*');
 var aResult=[];
 var i=0;
 
 for(i=0;i
 {
  if(aEle[i].className==sClass)
  {
   ]]></description><category></category></item><item><title><![CDATA[LocalStorage和sessionStorage之间的区别]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78177856</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78177856</guid><author>jth_wl</author><pubDate>Sun, 08 Oct 2017 21:50:05 +0800</pubDate><description><![CDATA[众所周知，自从HTML 5 标准出现之后，本地化存储一度成为热搜的关键词。在HTML 5 最开始时，本地存储有两种方式：一种是web Storage，另一种是web SQL。由于web SQL的实现是基于SQLite，它更倾向于DataBase方向，且W3C官方在2011年11月宣布不在维护web SQL规范，故其API接口目前已经不属于HTML 5的范畴。因此，目前我们常讲的HTML 5本地存储]]></description><category></category></item><item><title><![CDATA[浅谈JS中String()与 .toString()的区别]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78173713</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78173713</guid><author>jth_wl</author><pubDate>Sun, 08 Oct 2017 11:00:27 +0800</pubDate><description><![CDATA[我们知道String()与
 .toString()都是可以转换为字符串类型，但是String()与 .toString()的还是有区别的

1、.toString()可以将所有的的数据都转换为字符串，但是要排除null 和 undefined

例如将false转为字符串类型









1

2

3

4






  var ]]></description><category></category></item><item><title><![CDATA[javascript中for/in循环及使用技巧]]></title><link>https://blog.youkuaiyun.com/jth_wl/article/details/78171787</link><guid>https://blog.youkuaiyun.com/jth_wl/article/details/78171787</guid><author>jth_wl</author><pubDate>Sat, 07 Oct 2017 21:25:04 +0800</pubDate><description><![CDATA[JavaScript 支持不同类型的循环：

for - 循环代码块一定的次数

for/in - 循环遍历对象的属性

while - 当指定的条件为 true 时循环指定的代码块

do/while - 同样当指定的条件为 true 时循环指定的代码块
1. in运算符：要求其左边的运算数是一个字符串，或可以被转换为字符串，右边的运算数是一个对象或数组。如果该运算符左边的值是]]></description><category></category></item></channel></rss>