JavaScript
文章平均质量分 51
小船划向前端
谨以此blog记录小生学习前端的成长史
展开
-
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 · 533 阅读 · 0 评论 -
从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 · 681 阅读 · 0 评论 -
[从codewars学习到的JS系列1]数组方法reduce(),map(),正则$1等的使用
刚开始在codewars上练JS题,从难度最低的8kyu开始。来这里练题写代码不仅是锻炼自己的编程逻辑思维,更是希望自己写完后看别人优秀简洁的代码,知道自己还有哪些不足,哪些知识点没掌握,原来遇到这种情况还可以使用这种方法等,从而提高自己代码书写的质量,而不至于自己埋头写代码却没有任何成长,借鉴模仿学习,最后变成自己的东西。以下两道题虽简单,自己可能用for循环写完简单了事了,若是不去看其他受欢迎的原创 2016-06-30 11:23:23 · 774 阅读 · 0 评论 -
[从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 · 2149 阅读 · 0 评论 -
HTML文件、PHP文件、JSON文件之间通过AJAX编程简单传递数据
JSON是一种数据格式,不属于任何语言,因而它可在不同语言之间进行传递,但是JSON有简单值、对象、数组三种类型的值,而每个语言对对象和数组的表示语法都不相同,那如何实现JSON中的数据在不同语言之间传递呢。 字符串在任何语言中的表示语法都是相同的(至少绝大多数吧…),都是用引号包裹起来的,因此可以将JSON转换成字符串。然后不同的语言有不同的JSON解析器函数,如JS中JSON.parse(st原创 2016-06-30 11:01:47 · 4220 阅读 · 0 评论 -
CSS中在body中添加overflow:hidden会发生什么
如标题所述,页面只会展示浏览器中可见区域的那一块,页面的其他内容将无法展示,这也是为什么有时可以在网页中看到这么一个效果:点击登录弹出一个登录框,底下的网页被一层灰色半透明的遮罩层遮罩,然后无法对网页进行拖动(滚动条消失),就是因为在JS中添加了document.body.style.overflow = "hidden"; 这么一行代码,导致页面非可视区内容被隐藏了,没有其他内容可看当然滚动原创 2016-06-12 22:21:16 · 1904 阅读 · 0 评论 -
JavaScript BOM中的setInterval
setInterval(foo, time)是用来做动画的常用函数之一,称为间歇定时器,由window调用,这点很重要。函数传入两个参数:第一个是回调函数,里面写要重复执行的代码段,因为定时器是由window调用的,所以在回调函数里的this表示的是全局对象!这点在一些事件处理函数中再嵌套定时器时可能会被坑到,比如:btn.onclick = function () { var原创 2016-06-12 21:39:24 · 461 阅读 · 0 评论 -
JavaScript new与构造函数的那些事
javascript new 构造函数原创 2016-06-03 18:44:46 · 741 阅读 · 1 评论 -
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 · 406 阅读 · 0 评论 -
JavaScript 函数中的值传递
JavaScript 函数中的值传递 对象引用转载 2016-05-28 14:47:46 · 435 阅读 · 0 评论 -
JavaScript 变量声明提升
JavaScript 变量声明提升转载 2016-05-28 15:10:00 · 322 阅读 · 0 评论 -
JavaScript 字符串不变性
字符串一旦创建内容后是不可改变的。若之后再执行赋值操作,则会在栈中开辟新空间,原变量指向新的内存,原来指向的数据还在那个位置。所以不宜执行太多次字符串赋值操作,效率较低,内存占用较大,且浏览器可能崩溃(数据量很大时,若是number类型则不会崩溃)。若想拼接大量字符串使用数组和其join方法可以进行优化。原创 2016-05-28 14:44:00 · 530 阅读 · 0 评论 -
JavaScript 正则表达式与字符串查找
首先提出一个问题:如何取得一个给定的字符串substr在另一个字符串str中出现的次数?字符串匹配,第一想到的就是正则表达式,但我们最常使用的字面量来创建的正则表达式方式却无法传入变量,这时应该使用另一种创建正则表达式的方式:构造函数,如下var reg = new RegExp(substr, "g");其中第一个参数表示要匹配的字符串模式,因此可以传入变量,不需要加/ /原创 2016-06-15 15:52:13 · 6176 阅读 · 0 评论