<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[茗茗]]></title><description><![CDATA[当你真的喜欢上喝茶的时候，你已经长大了……]]></description><link>https://blog.youkuaiyun.com/function_key</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; function_key]]></copyright><item><title><![CDATA[typeof  以及判断一个变量是对象还是数组的方法]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/80109662</link><guid>https://blog.youkuaiyun.com/function_key/article/details/80109662</guid><author>function_key</author><pubDate>Fri, 27 Apr 2018 16:14:51 +0800</pubDate><description><![CDATA[&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;

	&amp;lt;head&amp;gt;
		&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
		&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
	&amp;lt;/head&amp;gt;

	&amp;lt;body&amp;gt;
		&amp;lt;script type=&quot;text/javascri]]></description><category></category></item><item><title><![CDATA[类数组转为数组，重写String去空格的trim方法]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/80109204</link><guid>https://blog.youkuaiyun.com/function_key/article/details/80109204</guid><author>function_key</author><pubDate>Fri, 27 Apr 2018 15:52:06 +0800</pubDate><description><![CDATA[&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;

	&amp;lt;head&amp;gt;
		&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
		&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
	&amp;lt;/head&amp;gt;

	&amp;lt;body&amp;gt;
		&amp;lt;h4&amp;gt;1111&amp;lt;/h4&amp;g]]></description><category></category></item><item><title><![CDATA[js 中toString,valueOf(),new String(),String()以及new 函数()，和不new的区别]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/80083137</link><guid>https://blog.youkuaiyun.com/function_key/article/details/80083137</guid><author>function_key</author><pubDate>Wed, 25 Apr 2018 17:44:07 +0800</pubDate><description><![CDATA[&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;

	&amp;lt;head&amp;gt;
		&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
		&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
	&amp;lt;/head&amp;gt;

	&amp;lt;body&amp;gt;
		&amp;lt;script&amp;gt;
			//toString 和v]]></description><category></category></item><item><title><![CDATA[js 中正则表达式replace，test，match，search，exec，split方法详解，以及去掉字符串空格的方法]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/80081093</link><guid>https://blog.youkuaiyun.com/function_key/article/details/80081093</guid><author>function_key</author><pubDate>Wed, 25 Apr 2018 16:07:19 +0800</pubDate><description><![CDATA[&amp;lt;head&amp;gt;
	&amp;lt;meta charset=&quot;utf-8&quot;&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
	var str1 = &quot;Jack Tom vs Tom&quot;;
	var s1 = str1.replace(&quot;Tom&quot;,&quot;lilei&quot;);//用lilei 代]]></description><category></category></item><item><title><![CDATA[js 中邮箱，手机号码，HTTPS，邮编，ip等常见的正则匹配]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/80081056</link><guid>https://blog.youkuaiyun.com/function_key/article/details/80081056</guid><author>function_key</author><pubDate>Wed, 25 Apr 2018 16:05:16 +0800</pubDate><description><![CDATA[export default function validateService() {

    this.notNull = function(value) {
        if (!value || ('' + value).trim().length &amp;lt;= 0) {
            return false;
        }
        return true;
 ...]]></description><category></category></item><item><title><![CDATA[requie.js好处以及用法(四），基于css和html模块化]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/79914258</link><guid>https://blog.youkuaiyun.com/function_key/article/details/79914258</guid><author>function_key</author><pubDate>Thu, 12 Apr 2018 15:17:23 +0800</pubDate><description><![CDATA[ 先看配置文件：require.config({　　　　
	urlArgs: &quot;v=&quot; + new Date().getTime(),
	baseUrl: &quot;./js&quot;,
	paths: {　　　　　　
		jquery: [&quot;//cdn.bootcss.com/jquery/1.11.1/jquery&quot;, &quot;lib/jquery-1.11.1&quot;], //数组，如果前面没有的话就加载后面的。
		...]]></description><category></category></item><item><title><![CDATA[require.js的好处以及用法(三）]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/79913040</link><guid>https://blog.youkuaiyun.com/function_key/article/details/79913040</guid><author>function_key</author><pubDate>Thu, 12 Apr 2018 14:16:15 +0800</pubDate><description><![CDATA[require.config({　　　　
	urlArgs: &quot;v=&quot; + new Date().getTime(),
	baseUrl: &quot;./js&quot;,
	paths: {　　　　　　
		jquery1:[&quot;//cdn.bootcss.com/jquery/1.11.1/jquery&quot;,&quot;lib/jquery-1.11.1&quot;],//数组，如果前面没有的话就加载后面的。
		jquery:[&quot;/...]]></description><category></category></item><item><title><![CDATA[require.js的好处以及用法（二）]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/79911545</link><guid>https://blog.youkuaiyun.com/function_key/article/details/79911545</guid><author>function_key</author><pubDate>Thu, 12 Apr 2018 11:47:39 +0800</pubDate><description><![CDATA[//define(&quot;jia1&quot;,[],function(){ 如果这么自定义名字的话，那么模块名字就是jia1,要想获取到这个模块，
//main.js 中配置为paths: {jia1:&quot;common/jia&quot;},调用依赖为：
//define(['jia1'], function(add) {
//	console.log(&quot;我是依赖common中jia.js的模块！&quot;, add);
//	v...]]></description><category></category></item><item><title><![CDATA[require.js的好处以及用法（一）]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/79910731</link><guid>https://blog.youkuaiyun.com/function_key/article/details/79910731</guid><author>function_key</author><pubDate>Thu, 12 Apr 2018 11:08:50 +0800</pubDate><description><![CDATA[为什么要使用require.js?

愚见：

1.异步加载防止阻塞：传统前端项目开发引入js文件是利用:script标签依次同步顺序加载,require(['module1'，'module2'])中的modue1和module2两个模块
是异步加载（原理是在script标签中加入defer或者async属性,插入到head标签里面，以及module标签所依赖的标签也会插入head标签中），当然...]]></description><category></category></item><item><title><![CDATA[闭包的使用以及应用场景以及垃圾回收机制]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/79696872</link><guid>https://blog.youkuaiyun.com/function_key/article/details/79696872</guid><author>function_key</author><pubDate>Mon, 26 Mar 2018 13:26:31 +0800</pubDate><description><![CDATA[闭包的应用场景闭包文章一闭包文章二//关于闭包  循环点击，只输出最后一个i的问题，暂时不解释
			//闭包：内部函数可以调用外部函数的参数,并且内部函数是在外部函数作用域之外执行的。

			function fn1() {
				var _n = 1;
				return _n++;
			}
			console.log(fn1()); //1  虽然也能获取函数内部变量_n但是不是闭...]]></description><category></category></item><item><title><![CDATA[ES6  let  const块级作用域以及ES5  var声明对比]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/79694788</link><guid>https://blog.youkuaiyun.com/function_key/article/details/79694788</guid><author>function_key</author><pubDate>Mon, 26 Mar 2018 10:39:32 +0800</pubDate><description><![CDATA[for(var i = 0; i &amp;lt; 10; i++) {
				var bar = i;
			}
			console.error(bar, i) //9,10  i是全局变量

			for(var j = 0; j &amp;lt; 10; j++) {
				let _bar = j; //let 声明将变量_bar默认绑定到自己外面的{}作用域中，但是下面的var声明变量还是全局的
...]]></description><category></category></item><item><title><![CDATA[浏览器渲染页面的过程-----前端优化篇]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/79692535</link><guid>https://blog.youkuaiyun.com/function_key/article/details/79692535</guid><author>function_key</author><pubDate>Sun, 25 Mar 2018 23:57:44 +0800</pubDate><description><![CDATA[浏览器工作原理一浏览器工作原理二说明：改变DOM元素位置，窗口大小，宽高，增删DOM都会触发浏览器回流，然后重绘，改变颜色，visibility:hidden 只重绘，不回流，影响性能。网页初始化的时候会回流重绘。优化：少操作DOM，如obj.style.fontSize = 14px,obj.style.color = 'red';会触发多次回流，应该直接给一个class属性，一次性修改。少用t...]]></description><category></category></item><item><title><![CDATA[java  内部类  匿名内部类  匿名类结合泛型 使用 详细教程 讲解]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/79047713</link><guid>https://blog.youkuaiyun.com/function_key/article/details/79047713</guid><author>function_key</author><pubDate>Fri, 12 Jan 2018 20:04:34 +0800</pubDate><description><![CDATA[public class Inner{
	public static void main(String[] args){
		Xiao x = new Xiao();
		x.study();
		x.start().play();
		//参数是匿名类的实例对象
		
		x.sport(new Car(){
			public void run(){
				System.out.printl]]></description><category></category></item><item><title><![CDATA[java 泛型类  泛型方法 泛型变量 静态方法泛型  区别汇总]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/79044576</link><guid>https://blog.youkuaiyun.com/function_key/article/details/79044576</guid><author>function_key</author><pubDate>Fri, 12 Jan 2018 15:29:53 +0800</pubDate><description><![CDATA[package xxx.xxxx.demo;

public class FanXingZongJie {
	public static void main(String[] args) {
		F1 f1 = new F1();
		f1.fun1("fun1");
		F2 f2 = new F2();
		f2.fun2("fun2");
		System.out.println(f2.fu]]></description><category></category></item><item><title><![CDATA[this详解  包括apply  call   bind   构造函数  继承]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/53435260</link><guid>https://blog.youkuaiyun.com/function_key/article/details/53435260</guid><author>function_key</author><pubDate>Fri, 02 Dec 2016 15:38:50 +0800</pubDate><description><![CDATA[			//注：（以下this均是ES5非严格模式下的教程）很多朋友对this不是很理解，无非以下几种情况：

			//① 默认情况下this指向window，函数的一般调用方式如foo();
			function foo1() {
				console.log(this); // window
				this.bar1(); // 等价于bar1();
			}

			function ...]]></description><category></category></item><item><title><![CDATA[extend  静态方法和fn实例方法对比]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/51820059</link><guid>https://blog.youkuaiyun.com/function_key/article/details/51820059</guid><author>function_key</author><pubDate>Mon, 04 Jul 2016 12:37:33 +0800</pubDate><description><![CDATA[extend和fn.extend的区别详解]]></description><category></category></item><item><title><![CDATA[DOM 和 jQuery对象相互转换  以及for-in和$.each遍历方法]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/51819928</link><guid>https://blog.youkuaiyun.com/function_key/article/details/51819928</guid><author>function_key</author><pubDate>Mon, 04 Jul 2016 11:59:15 +0800</pubDate><description><![CDATA[DOM 和 jQuery对象相互转换 以及for-in和$.each遍历方法]]></description><category></category></item><item><title><![CDATA[typeof 和 instanceof]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/51819571</link><guid>https://blog.youkuaiyun.com/function_key/article/details/51819571</guid><author>function_key</author><pubDate>Mon, 04 Jul 2016 11:17:48 +0800</pubDate><description><![CDATA[Document



var a = 12;
console.log(typeof a);
console.log(a instanceof Number);//false
var b = 'small';
console.log(typeof b);//string
console.log(b instanceof String);//false
var c = new String(2);
]]></description><category></category></item><item><title><![CDATA[addEventListener事件]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/51768637</link><guid>https://blog.youkuaiyun.com/function_key/article/details/51768637</guid><author>function_key</author><pubDate>Mon, 27 Jun 2016 15:39:10 +0800</pubDate><description><![CDATA[addEventListener事件]]></description><category></category></item><item><title><![CDATA[e.pageX,e.clientX.e.screenX.offsetLeft,scrollTop事件的区别]]></title><link>https://blog.youkuaiyun.com/function_key/article/details/51767886</link><guid>https://blog.youkuaiyun.com/function_key/article/details/51767886</guid><author>function_key</author><pubDate>Mon, 27 Jun 2016 12:55:16 +0800</pubDate><description><![CDATA[clientX,pageX]]></description><category></category></item></channel></rss>