3 小船划向前端

尚未进行身份认证

谨以此blog记录小生学习前端的成长史

等级
TA的排名 14w+

从JS变态题中学到的一些JS生僻或重要知识点

JS变态题如下: http://ourjs.com/detail/52fb82e13bd19c4814000001整理了题目中一些生僻或重要知识点:parseInt(“1”, 0) => parseInt(“1”,10) => 1 parseInt(“2”, 1) => NaN parseInt(“3”, 2) => NaNnull instanceof Object => false 因

2016-07-24 12:01:55

[从codewars学习到的JS系列3]数组filter方法与函数call方法妙用

<level2>问题:去除字符串或数组里相邻重复的项,并以数组形式输出结果。如输入[“a”,“b”,“b”,“c”,“a”,“a”],输出[“a”,“b”,“c”,“a”],字符串同理,输出数组。 solution: (1)var uniqueInOrder=function(iterable){ var result = []; for (var i = 0, length = ite

2016-06-30 21:26:17

[从codewars学习到的JS系列1]数组方法reduce(),map(),正则$1等的使用

刚开始在codewars上练JS题,从难度最低的8kyu开始。来这里练题写代码不仅是锻炼自己的编程逻辑思维,更是希望自己写完后看别人优秀简洁的代码,知道自己还有哪些不足,哪些知识点没掌握,原来遇到这种情况还可以使用这种方法等,从而提高自己代码书写的质量,而不至于自己埋头写代码却没有任何成长,借鉴模仿学习,最后变成自己的东西。以下两道题虽简单,自己可能用for循环写完简单了事了,若是不去看其他受欢迎的

2016-06-30 11:23:23

HTML文件、PHP文件、JSON文件之间通过AJAX编程简单传递数据

JSON是一种数据格式,不属于任何语言,因而它可在不同语言之间进行传递,但是JSON有简单值、对象、数组三种类型的值,而每个语言对对象和数组的表示语法都不相同,那如何实现JSON中的数据在不同语言之间传递呢。 字符串在任何语言中的表示语法都是相同的(至少绝大多数吧…),都是用引号包裹起来的,因此可以将JSON转换成字符串。然后不同的语言有不同的JSON解析器函数,如JS中JSON.parse(st

2016-06-30 11:01:47

CSS中position的百分比表示法及绝对定位居中

设置了定位position: absolute的盒子,将top设为0%,盒子顶部将会紧挨着父元素(已定位)的顶部,若设为100%,则盒子顶部将会紧挨着父元素底部。 计算公式为:top_percent = 子盒子顶部距父盒子顶部的距离 / 父盒子高度由此可以理解:.element { width: 200px; height: 100px; position: absolut

2016-06-21 14:02:25

JavaScript 正则表达式与字符串查找

首先提出一个问题:如何取得一个给定的字符串substr在另一个字符串str中出现的次数?字符串匹配,第一想到的就是正则表达式,但我们最常使用的字面量来创建的正则表达式方式却无法传入变量,这时应该使用另一种创建正则表达式的方式:构造函数,如下var reg = new RegExp(substr, "g");其中第一个参数表示要匹配的字符串模式,因此可以传入变量,不需要加/  /

2016-06-15 15:52:13

CSS中在body中添加overflow:hidden会发生什么

如标题所述,页面只会展示浏览器中可见区域的那一块,页面的其他内容将无法展示,这也是为什么有时可以在网页中看到这么一个效果:点击登录弹出一个登录框,底下的网页被一层灰色半透明的遮罩层遮罩,然后无法对网页进行拖动(滚动条消失),就是因为在JS中添加了document.body.style.overflow = "hidden"; 这么一行代码,导致页面非可视区内容被隐藏了,没有其他内容可看当然滚动

2016-06-12 22:21:16

JavaScript BOM中的setInterval

setInterval(foo, time)是用来做动画的常用函数之一,称为间歇定时器,由window调用,这点很重要。函数传入两个参数:第一个是回调函数,里面写要重复执行的代码段,因为定时器是由window调用的,所以在回调函数里的this表示的是全局对象!这点在一些事件处理函数中再嵌套定时器时可能会被坑到,比如:btn.onclick = function () { var

2016-06-12 21:39:24

JavaScript new与构造函数的那些事

javascript new 构造函数

2016-06-03 18:44:46

JavaScript 标签自定义属性

//自定义属性aaavar box = document.getElementById("box");//通过DOM方法获取id名为box的标签对象console.log(box.id);//box 原来有规定的标签属性 能够通过对象的属性获取到console.log(box.aaa);//undefined 自定义属性,即使已在标签中写明,仍不能通过对象的属性获取

2016-05-28 22:18:43

JavaScript 变量声明提升

JavaScript 变量声明提升

2016-05-28 15:10:00

JavaScript 函数中的值传递

JavaScript 函数中的值传递 对象引用

2016-05-28 14:47:46

JavaScript 字符串不变性

字符串一旦创建内容后是不可改变的。若之后再执行赋值操作,则会在栈中开辟新空间,原变量指向新的内存,原来指向的数据还在那个位置。所以不宜执行太多次字符串赋值操作,效率较低,内存占用较大,且浏览器可能崩溃(数据量很大时,若是number类型则不会崩溃)。若想拼接大量字符串使用数组和其join方法可以进行优化。

2016-05-28 14:44:00

JavaScript switch语句注意点

在switch语句中,若在case执行语句末不写break,则在遇到对的情况执行相应语句后,会一直执行之后case中的语句直到遇到break。如下代码:var a = 8;switch (a) { case 9: console.log("A"); case 8: console.log("B"); case 7:

2016-05-28 14:37:56

CSS中将行内元素设置成行内块元素的几种方法

1.display:inline-block2.position:absolute(relative无效)3.设置浮动float这样就可对行内元素设置宽高等块特性了

2016-05-28 14:11:07

CSS图片与文字水平对齐

1)图片没使用float(文字为行内元素):图片元素需加上vertical-align:middle(此语句对float元素无效),然后通过使用margin-top(不加上先前语句使用此语句会使图片文字一块移动)进一步调整图片位置即可。貌似加不加display:inline-block没区别啊。ps:若将vertical-align:middle加在文字元素上,改变margin-top文字和

2016-05-28 11:29:50

CSS选择器优先级

行内样式 > 页内样式 > 外部引用样式 > 浏览器默认样式!important> 内联 >ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 通配符 > 继承 特指度(specificity)。特指度表示一个css选择器表达式的重要程度,可以通过一个公式来计算出一个数值,数越大,越重要。这个计算叫做“I-C-E”计算公式,I——Id;C——Class;E—

2016-05-28 11:17:19

CSS的一些小的注意点整理

CSS注意点

2016-05-28 11:05:32

emmet语法和sublime,webstorm快捷键

emmet常用语法和sublime、webstorm快捷键

2016-05-28 09:55:38

我的第一篇博客

本博客空间主要用来记录我在学习前端时整理的笔记,或是转载分享网上看到的一些经典实用的与前端相关的文章。监督自己学习的同时也学会总结温习和思考。我的前端成长史记录从现在开始!希望我能坚持更新这个博客:)

2016-05-27 23:52:52
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!