自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 你不知道的JavaScript之强制类型转换(上)

(一)什么是类型转换将值从一种类型转换为另一种类型称为类型转换,这是显式的情况,而隐式的情况称为强制类型转换。也可以这样区分:类型转换发送在静态类型语言的编译阶段,而强制类型转换则发生在动态类型语言的运行时。(二)抽象值操作1 ToString对基本类型值时,会创建一个封装对象,再调用toString()。null转为"null",undefined转为"undefined",...

2018-07-22 14:15:37 153 1

原创 你不知道的JavaScript之原生函数

1 常见的原生函数(注意首字母大写),可以当作构造函数使用String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol()2 通过构造函数创建出来的是封装了基本类型值的封装对象3 内部属性[[Class]]:所有typeof 返回值为"object"的对象都包含一个内部属性[...

2018-07-21 13:52:21 149

原创 你不知道的JavaScript之值(下)

四 特殊的值1 null是一个特殊的关键字,不是标识符,不能当变量来使用和赋值,但undefined却是一个标识符,可以当变量来使用和赋值,不过永远不要重新定义undefined 。2 void Θ 运算符可以还得undefined3 如果数学运算的操作数不是数字类型,返回值为NaN。NaN是指“不是一个数字”,理解为“无效数值”可能更好。NaN是一个特殊值,它和自身不相等,是唯一一个非自反的值。...

2018-07-14 15:07:52 146

原创 你不知道的JavaScript之值(上)

一 数组1 delete运算符可以将单元从数组中删除,但length属性不会发生变化。2 数组通过数字进行索引,但数组也是对象,所以也可以包含字符串键值和属性(不过不计算在数组长度内)如果字符串键值能被强制转换为十进制数字,会被当数字索引处理var a=[];a[0]=1;a["footer"]=2;a.length; //1a["232"]=233;a.length; //2333 类...

2018-07-13 15:34:08 115

原创 你不知道的JavaScript之类型

1 内置类型 null,undefined,boolean,string,number,object,symbol 除对象外其余为基本类型object的子类型函数和数组,null是bugtypeof function a(...); // functiontypeof [1,2,3]; // objecttypeof null; // object2 js中变量没有类型,值才有。typeof...

2018-07-12 14:39:05 114

原创 使用Api的形式封装Vue组件(三)

增加自动消失功能func-notification.js mounted () { this.createTimer() }, methods: { createTimer () { if (this.autoClose) { this.timer = setTimeout(() => { this.visible =...

2018-06-15 10:47:58 220

原创 使用Api的形式封装Vue组件(二)

组件同级目录下新建func-notification.jsimport Notification from './notification.vue'export default { extends: Notification}组件同级目录下新建function.jsimport Vue from 'vue'import Components from './func-notificat...

2018-06-14 17:47:54 712 1

原创 使用Api的形式封装Vue组件(一)

在文件夹notification下新增一个notification.vue文件 编写基础代码<template> <transition name="fade"> <div class="notification"> <span class="container">{{content}}</span&

2018-06-14 17:09:32 1529

原创 你不知道的JavaScript之原型(二)

1 继承function Foo(name){ this.name=name;}Foo.prototype.myName=function() { return this.name;}function Bar(name,label){ Foo.call(this,name); this.label=label;}Bar.prototype=Object.create(Fo...

2018-06-10 15:58:37 147

原创 你不知道的JavaScript之原型(一)

1 [[prototype]]这个内置属性其实就是对于其他对象的引用,所有普通的[[prototype]]链最终都会指向内置的Object.prototype。2 new Foo()这个函数调用实际上并没有直接创建关联,只是间接完成一个关联到其他对象的新对象。3 构造函数:所有带new的函数调用。4 constructor并不表示被构造,它不可被枚举但值是可以修改。function Foo{......

2018-06-03 14:48:35 123

原创 你不知道的JavaScript之对象(二)

1 writable(可写)如果要writable:false一致的话,setter被调用时应该抛出应该TypeError错误2 configurable(可配置)把configurable修改成false是单向操作,无法撤销,而且还会禁止删除属性。例外:configurable:false还是可以把writable由true为false,反之不行。3 enumerable(可枚举)控制属性是否出...

2018-06-02 15:18:04 222

原创 你不知道的JavaScript之对象(一)

1 对象的定义 文字声明形式和构造形式声明:var obj={ key:value};构造:var obj=new Object();obj.key=value;区别:声明可以添加多个键/值对,但构造形式必须逐个添加2 简单基本类型(string,boolean,number,null,undefined)本身不是对象。typeof null虽然返回object 但这是一个历史遗留的...

2018-06-01 20:30:13 92

原创 你不知道的JavaScript之this(二)

1 优先级 new绑定>显式绑定>隐式绑定>默认绑定2 柯里化:是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。(.bind()可以进行柯里化)function foo(p1,p2) { this.val=p1+p2;} var bar=foo.bind(null,"p1");var b...

2018-05-31 21:15:03 125

原创 你不知道的JavaScript之this(一)

1 this绑定和函数声明的位置没有任何关系,只取决于函数的调用位置。2 this和词法作用域的查找混合使用时,无法实现function foo() { var a=2; this.bar();}function bar() { console.log(this.a);}foo();//undefined3 默认绑定指向全局对象;函数直接使用不带任何修饰的函数引用进行调用的,只能使用...

2018-05-30 17:49:42 103

原创 你不知道的JavaScript之作用域闭包学习心得(四)

1 当函数可以记住并访问所在的词法作用域时,就产生了闭包,即时函数是在当前词法作用域之外执行。2 闭包举例function foo(){ var a=2; function bar(){ console.log(a); } return bar;}var baz=foo();baz();// 2foo()执行后,返回值bar()函数赋值给变量baz并调用baz()。通常情况下,f...

2018-05-14 15:11:39 116

原创 你不知道的JavaScript之作用域闭包学习心得(三)

1 只有声明本身会被提升,而赋值或其他运行逻辑会留在原地。2 每个作用域都会进行提升操作,名称标识符赋值之前也无法在所在作用域中使用foo(); //TypeErrorbar(); //ReferenceErrorvar foo=function bar(){...}3 函数会首先被提升,然后才是变量。重复的声明会被忽略。但后面出现的函数声明是可以覆盖前面的。foo(); //1var fo...

2018-05-11 15:07:42 116

原创 《CSS世界》第四章学习心得——深入理解content(下)

countent计数器1 counter-reset:设置某个选择器出现次数的计数器的值,默认值是0,chrome下可以取小数,任何小数向下取整;多个以空格分隔,而不是逗号{ counter-reset:section1 2 section2 3;}2 counter-increment:计数器递增的值,默认为1。使用content:counter(...)会默认先执行一次counter-i...

2018-05-09 12:02:30 168

原创 你不知道的JavaScript之作用域闭包学习心得(二)

1 函数作用域:属于这个函数的全部变量都可以在整个函数的范围内使用及复用。 2 最小暴露原则:软件设计中,应该最小限度地暴露必要内容,而将其他内容都隐藏起来。function dothing(a){ b=doelse(a*2); console.log(b*3);}function doelse(a){ return a-1; }var b;dothing(2)f

2018-05-06 12:25:01 110

原创 你不知道的JavaScript之作用域闭包学习心得(一)

1 任何JavaScript代码片段执行前都要编译2 变量赋值操作两个步骤,首先在当前作用域声明该变量(假设该变量之前未被声明),之后在运行时在作用域中查找该变量,若能知道,就进行赋值3 LHS:赋值操作的目标是谁  RHS:谁是赋值操作的源头,都从当前作用域开始,一层一层向上找,最后到全局作用域停止查找。注意隐式的LHS  a=24 严格模式禁止自动或者隐式创建全局变量5 ReferenceEr...

2018-04-28 16:08:02 119

原创 《CSS世界》第四章学习心得——深入理解content(上)

1 替换元素是指内容可以被替换。如:<img>,<object>,<video>,<iframe>,表单元素。所有替换元素都是内联水平元素。2 替换元素特点(1)外观不受css控制,如无法改变单选复选的样式(2)有默认的尺寸,大多为300px*150px,img为0,表单元素根据浏览器本身(3)css属性有自身的一套规则,替换元素的基线为元素下边缘,...

2018-04-26 20:51:32 199

原创 《CSS世界》第三章学习心得

1 块级元素和display为block的元素不是一个概念,还有display为list-item和table。2 清楚浮动伪元素不使用display:list-item原因是IE无效,但IE对于非伪元素设置display:list-item是有效的。3 单行文字居中,多行文字左对齐。<div class="box"> <p id="conMore" class="conte...

2018-04-24 18:01:09 210

原创 IE11下padding-top撑开图片小bug

:before { content: ""; float: left; width: 1px; margin-left: -1px; height: 0; padding-top: calc(153 / 280 * 100%);}:after { content: ""; clear: both; display: tab...

2018-03-27 11:52:58 362

原创 css开发知识技巧总结

1 padding与图片响应式 需求:页面宽度变化时图片保持缩放比例 方法:用padding-top或者padding-bottom撑开盒子 计算公式:高度/宽度*100% 代码:<ul> <li><a href="#"><img src=""></a></li> <li><a href="#"><img src=""></a></li> <li><a href="#"

2018-01-02 13:05:09 192

原创 JavaScript的this学习笔记

1 浏览器宿主的全局环境中,this指的是window对象 2 浏览器中在全局环境下,使用var声明变量其实就是赋值给this或window 3 任何情况下,创建变量时没有使用var或者let(ECMAScript 6),也是在操作全局this foo = "bar"; function testThis() { foo = "foo"; } conso

2017-11-13 23:19:35 131

原创 小程序学习心得之数据绑定技巧

1 在template中可以通过对象的赋值形式来对template中的data传值<template is="starsTemplate" data="{{stars:stars, score: average}}" />2 …的运用 <block wx:for="{{movies}}" wx:for-item="movie"> <template is="movieTemplat

2017-11-05 23:13:45 1349

原创 小程序学习之tab选项卡

1 必须在list配置对应的页面路径,对应的页面才会有tab选项卡出现,否则不会出现 2 redirectTo不出现选项卡要使用navigateTo redirectTo:关闭当前页面,跳转到应用内的某个页面 navigateTo:保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面

2017-11-01 22:49:50 793

原创 小程序学习心得之事件冒泡

1 catchtap和bindtap bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。2 在swiper组件中实现跳转,可以通过在swiper绑定catchtap事件,通过event.target.dataset.postid获取点击图片对应id3 target 和currentTarget target指的是当前点击的组件 和currentTarg

2017-10-30 22:40:39 415

原创 小程序学习心得之音乐播放

1 wx.playBackgroundAudio 内置的参数dataUrl coverImgUrl引用地址不能为本地2 两种图标不同的指定方式 1<image catchtap="onMusicTap" class="audio" src="{{isPlayingMusic? '/images/music/music-stop.png': '/images/music/music-start.p

2017-10-29 14:30:51 1095

原创 小程序学习心得之template进行数据绑定

1通过引入要循环的模板,在block中进行绑定 可以通过在template外出加一层view来就行跳转,结构如下:`<block wx:for="{{postList}}" wx:for-item="item" wx:for-index="idx"> <view catchtap="onPostTap" data-postId="{{item.postId}}"> <templ

2017-10-26 22:57:01 1441

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除