<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_39201210的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_39201210</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_39201210]]></copyright><item><title><![CDATA[小程序——地图]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/88863860</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/88863860</guid><author>qq_39201210</author><pubDate>Thu, 28 Mar 2019 10:42:59 +0800</pubDate><description><![CDATA[地图
	首先要下载qqmap-wx-jssdk.min.js
	key去腾讯地图api里自己申请呀
	在需要地图页面js中引入

	// 引入SDK核心类
			import QQMapWX from '../../utils/qqmap-wx-jssdk.min.js';

// 实例化API核心类
let qqMap = new QQMapWX({
  key: 'C2FBZ-6YMKX-ML...]]></description><category></category></item><item><title><![CDATA[正则表达以及字符串的方法]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/85124858</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/85124858</guid><author>qq_39201210</author><pubDate>Thu, 20 Dec 2018 16:16:21 +0800</pubDate><description><![CDATA[1.正则表达 




// 正则
// 1.检验一个字符串首尾是否有数字
// \d是数字
var reg = /^\d|\d$/g; //^开头  $结尾  |或
var str = '123abc2';

console.log(reg.test(str));
console.log(str.match(reg));



// RegExp对象方法
// test();  //检查字符串中...]]></description><category></category></item><item><title><![CDATA[js异步加载]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/85051080</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/85051080</guid><author>qq_39201210</author><pubDate>Mon, 17 Dec 2018 16:10:10 +0800</pubDate><description><![CDATA[js异步加载
三个方法：
1.defer 只有ie能用 在script里添加defer属性，可以将该js与html、css并行。
            但要等到dom文档全部解析完才会执行  可以把js代码写到内部
       &amp;lt;script src='xx.js' defer='defer'&amp;gt;

2.async  加载完就执行，async只能加载外部脚本。不能把js写在scrip...]]></description><category></category></item><item><title><![CDATA[冒泡、捕获、阻止默认事件]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/84994168</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/84994168</guid><author>qq_39201210</author><pubDate>Thu, 13 Dec 2018 19:57:42 +0800</pubDate><description><![CDATA[Ele.addEventListener(type,fn,false);  false为冒泡  true为捕获

在同一个ele上可以绑定相同type事件，可以一个为冒泡一个为捕获。

会先执行捕获事件

事件冒泡：
从代码结构上（非视觉上）嵌套关系的元素，会存在冒泡功能。

点击子元素，会从子元素依次往父元素，触发事件。

事件捕获：
代码结构上（非视觉上）嵌套关系的元素，会存在捕获功能。

点...]]></description><category></category></item><item><title><![CDATA[VUE的组件使用]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/84390130</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/84390130</guid><author>qq_39201210</author><pubDate>Fri, 23 Nov 2018 15:50:15 +0800</pubDate><description><![CDATA[ 

 


&amp;lt;body&amp;gt;
	&amp;lt;div class=&quot;box1&quot;&amp;gt;
		&amp;lt;!-- 调用组件，直接用标签，组件名 --&amp;gt;
		&amp;lt;cp1&amp;gt;&amp;lt;/cp1&amp;gt;
	&amp;lt;/div&amp;gt;
	&amp;lt;div class=&quot;box2&quot;&amp;gt;
		&amp;lt;cp1&amp;gt;&amp;lt;/cp1&am]]></description><category></category></item><item><title><![CDATA[关于vue遍历for使用amazeui的折叠面板]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/84339086</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/84339086</guid><author>qq_39201210</author><pubDate>Thu, 22 Nov 2018 14:53:41 +0800</pubDate><description><![CDATA[ amazeui的折叠面板步骤：

给父盒子一个id： accordion

给点击的target一个data-am-collapse=&quot;{parent: '#accordion', target: '#do-not-say-1'}

给目标面板一个id，为点击面板的target值如do-not-say-1

由于如果需要用vue 做for循环，将index或者data中唯一id作为id时，只知道...]]></description><category></category></item><item><title><![CDATA[DOM操作]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/83105802</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/83105802</guid><author>qq_39201210</author><pubDate>Wed, 17 Oct 2018 16:46:48 +0800</pubDate><description><![CDATA[1、用原生js写面板

由于在循环btn的时候，i会形成闭包，将最终的i保存，无法找到想要的i。

这时需要用立即执行函数将i存到ao。保存在ao里面

html


&amp;lt;div class=&quot;wrap&quot;&amp;gt;
		&amp;lt;button class=&quot;active&quot;&amp;gt;1&amp;lt;/button&amp;gt;
		&amp;lt;button&amp;gt;2&amp;lt;/button&amp;gt;
		&amp]]></description><category></category></item><item><title><![CDATA[ES5.0严格模式]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/83089503</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/83089503</guid><author>qq_39201210</author><pubDate>Tue, 16 Oct 2018 16:10:58 +0800</pubDate><description><![CDATA[ 



1、启用es5    “use strict”

 1.1 如果在script顶部写启动 use strict  整个js都会启动es5


// 启动es5.0严格模式
'use strict'

// es5不支持arguments.callee、caller

function test(){
	console.log(arguments.callee);
}
test();


...]]></description><category></category></item><item><title><![CDATA[封装去重方法、精确返回type值方法]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/83056693</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/83056693</guid><author>qq_39201210</author><pubDate>Mon, 15 Oct 2018 11:41:04 +0800</pubDate><description><![CDATA[由于typeof()方法返回类型不准确。数组对象跟null都返回object
现自己封装一个type(),精确的返回类型

typeof([])------&amp;gt;array
typeof({})------&amp;gt;object
typeof('你好')-----&amp;gt;string
typeof(function)----&amp;gt;function
typeof(123)-----&amp;gt;numb...]]></description><category></category></item><item><title><![CDATA[类数组]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/83054810</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/83054810</guid><author>qq_39201210</author><pubDate>Mon, 15 Oct 2018 10:06:50 +0800</pubDate><description><![CDATA[类数组：跟数组相似，无法使用数组的方法

类数组必须有length属性  需要数组的方法可以自行添加

1、如arguments实参列表是一个数组形式的数据。但无法使用数组的方法。如push。会报错

2、一个对象，里面的键写作索引。加上length属性，与Array的原型方法，既可当数组使用。但本身是对象


// 类数组

function test() {
	console.log(argu...]]></description><category></category></item><item><title><![CDATA[数组]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/82999705</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/82999705</guid><author>qq_39201210</author><pubDate>Wed, 10 Oct 2018 17:30:56 +0800</pubDate><description><![CDATA[数组


两种构造方法

 Var arr = [];  [1,2,3] 里面写数组的
	 var arr = new Array();  new Array(10) 里面是数组长度。只能整数
	溢出读写
var arr = [];

arr[10]; 结果为undefined

arr[10] = 123;  会将数组撑大到11位，[undefined x 10 , 123] 

length为...]]></description><category></category></item><item><title><![CDATA[封装浅层克隆  深层克隆]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/82998305</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/82998305</guid><author>qq_39201210</author><pubDate>Wed, 10 Oct 2018 15:49:22 +0800</pubDate><description><![CDATA[1、浅层克隆

注意：这种浅层克隆只能正常修改原始值，修改引用值时会将原本的也修改。


// 克隆
var obj = {
	name : '张三',
	age : 12,
	sex : 'male',
	arr : [1,2,3,4]
}

var obj1 = {};

// 自己写一个浅层克隆
function clone(origin,target){
	// 作一个兼容  如果有传ta...]]></description><category></category></item><item><title><![CDATA[命名空间、连续调用、属性访问、instanceof、区分数组与对象]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/82840243</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/82840243</guid><author>qq_39201210</author><pubDate>Tue, 25 Sep 2018 16:28:35 +0800</pubDate><description><![CDATA[ 命名空间
 管理变量、防止污染全局，适用于模块化开发 



 模拟jq的连续调用 



属性访问 

obj.name--------&amp;gt;计算机会隐性转为obj['name']访问



遍历对象



hasOwnProperty()  自身的属性

 


	A instanceof B 判断B的原型是否在A的原型链上
	
 

区分数组与对象

 ...]]></description><category></category></item><item><title><![CDATA[继承]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/82784286</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/82784286</guid><author>qq_39201210</author><pubDate>Thu, 20 Sep 2018 14:38:57 +0800</pubDate><description><![CDATA[


	传统形式——原型链继承  prototype
	
	
	借用构造函数
	
       借用构造函数就是利用call() apply()借用别人的函数。



虽然从视觉上省了代码量，但没new一个对象，都会调用多个构造函数。执行上复杂了

但是在实际开发中，如果别人的函数是你所需要的，可以使用借用构造函数。

3.共享原型

 









闭包私有性

 

封装圣杯模式

 ...]]></description><category></category></item><item><title><![CDATA[call()跟apply()  改变this指向]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/82685290</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/82685290</guid><author>qq_39201210</author><pubDate>Thu, 13 Sep 2018 11:26:54 +0800</pubDate><description><![CDATA[
	call跟applay
	
call();跟执行函数()是一样的效果 test.call()相当于test()

call()跟apply()都是改变this的指向

两者区别 传参列表不同

Fun.call(新this指向,参数1,参数2,参数3,……)

Fun.apply(新this指向,用对象形式传参)



// 场景：当生产车间，需要用到别人的零件，
// 可以用call或app...]]></description><category></category></item><item><title><![CDATA[原型]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/82463957</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/82463957</guid><author>qq_39201210</author><pubDate>Thu, 06 Sep 2018 16:49:03 +0800</pubDate><description><![CDATA[构造函数：function Person(){}
	对象化：var person = new Person();
	原型：Person.prototype  是一个空对象 是祖先
                     Person.prototype.age = 18; 给原型加一个属性

                    var person = new Person();person...]]></description><category></category></item><item><title><![CDATA[js基础——函数 + 递归]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/82385195</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/82385195</guid><author>qq_39201210</author><pubDate>Tue, 04 Sep 2018 16:03:53 +0800</pubDate><description><![CDATA[
	函数声明
	
function test(){}

	命名函数表达式
	
var test = function fun(){}   后面的fun-这个名字没有意义。
test.name就是后面的fun


	匿名函数表达式——函数表达式（常用）
	
var test = function(){} 

	函数——形参、实参
	
function test(a,b){};   a b 为形参

...]]></description><category></category></item><item><title><![CDATA[包装类]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/81907894</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/81907894</guid><author>qq_39201210</author><pubDate>Tue, 21 Aug 2018 15:07:01 +0800</pubDate><description><![CDATA[ 1、包装类

引用值跟原始的区别：

引用值可以有属性跟方法

原始值不能有属性跟方法

var str = 'abc';

str.length; str的length为3.

那么这个原始值类型的str为什么有属性length呢。

这就是因为包装类

str.length;事实上是隐性的执行了new String('abc').length这一句语法


// 包装类

// 简单的num...]]></description><category></category></item><item><title><![CDATA[对象]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/81875673</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/81875673</guid><author>qq_39201210</author><pubDate>Mon, 20 Aug 2018 18:21:30 +0800</pubDate><description><![CDATA[

var people = {
	name : '张三',
	age : 20,
	sex : 'male',
	health : 100,
	smoke : function(){
		console.log('吸烟有害健康');
		this.health--;
	},
	sport : function(){
		console.log('运动有益身心');
		this.health++...]]></description><category></category></item><item><title><![CDATA[经典面试题集合]]></title><link>https://blog.youkuaiyun.com/qq_39201210/article/details/81779974</link><guid>https://blog.youkuaiyun.com/qq_39201210/article/details/81779974</guid><author>qq_39201210</author><pubDate>Fri, 17 Aug 2018 16:43:50 +0800</pubDate><description><![CDATA[1.考察闭包  （看似考察绑定事件addEventListener，实际考察闭包）

     题目 给页面多个li绑定点击事件 并打印顺序


//题目 给页面多个li绑定点击事件 并打印顺序


var liArr = document.querySelectorAll('li');
// console.log(liArr);

// 法一，用[].forEach.call  无需用到闭包
...]]></description><category></category></item></channel></rss>