JavaScript中的伪数组(array-like)

之前在项目里遇到一个问题:
调用某个函数时,传过来的参数是动态的,不能预先估计会传来多少个,因此我需要遍历函数的arguments对象,用来获取传递来的所有参数。
因此最开始我写了如下的代码:

function test(){
    for(var i = 0;i<arguments.length;++i){
        console.log(arguments[i]);
    }
}

test(1,2,3);//打印出1 2 3

test(4,5,6,7);//打印出4 5 6 7

通过一个for循环,遍历arguments对象,就可以取到每次调用该函数时传递的所有……

阅读更多

有助于理解JavaScript闭包的几个例子

之前写过一篇详解js闭包的文章,后来重新读了一遍后感觉自己还是功力不够,很多知识点讲得都不够明白,文中举的例子也不够典型,而且动辄就是长篇大论,写了一大段文字却没有一个足够简单直白的例子,导致我自己再看的时候都觉得费劲。

功力不够,那就退而求其次,只好多找几个我觉得能够帮助更深刻地理解闭包的代码样例来分析。
(本次的例子都是我在stackoverflow上翻到的,然后加上了自己的解释)

例一:

function fun() {
  var num = 5;
  var say = function() { console.log(num); }
  num++;
  return say......

阅读更多

vue 移动Web应用前端路由跳转总结

一、当前页面 和 目标页面 之间不存在中间页面

例如:

壳子–> A –> B

【壳子为微信公众号、钉钉或者今日校园的应用菜单页面】

【A–>B代表先访问A页面然后在A页面跳转到B页面】

(1).如果在B页面点击后退按钮,希望能够回到当前页面A,那么从A–>B用push。

( 原理:使用push进行路由跳转会在浏览器历史记录栈顶加入当前页面的url,即在A页面使用push跳转到B页面后,浏览器历史纪录栈顶记录为A的url,因此在B页面点击后退按钮时,浏览器会从历史纪录栈pop出栈顶记录即A的url并且跳转到A页面 )

(2).如果在B页面点击后退按钮,不希望回到A而是直接返回微信……

阅读更多

基于班级条件权重表的试探性学生分班算法(详解篇)

由于markdown语法展示的文档样式可能不太好看,因此提供doc版下载:

点此下载:
基于班级条件权重表的试探性学生分班算法.doc

目录

1 学生分班业务分析
    1.1 需求分析
    1.2 难点分析
2 分班问题的解决思路
3 基于班级条件权重表的试探性学生分班算法
    3.1 算法步骤
    3.2 算法详解
        3……

阅读更多

JavaScript中的循环、遍历方法总结

最近写的js代码比较多,但是在做数组循环的时候,老是记不起来javascript提供用来遍历和循环数组的方法,又因为不想打断思路,就懒得去网上查,导致每次都很挫地直接写最原始的for循环。

这次回家来翻了翻书,做一个总结。

在javascript中遍历数组的方式很多,大概分为下面几种:
1. for
2. while
3. every
4. some
5. filter
6. forEach
7. map
8. for in

接下来看代码:

最熟悉的for循环:

var arr = [1,2,3,4,5,6,7,8,9,10];

for(var i=0;i<arr.lengt......

阅读更多

在vue中使用饿了么mint-ui组件进行开发

本文介绍如何使用vue以及饿了么的移动端vue组件库mint-ui来开发一个简单的移动端页面。

简单介绍一下vue以及使用vue进行移动端开发

vue是一个javascript生态中的一员,是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。

现在一般vue这个名词往往和移动端开发一起出现,当然这并不代表vue只能用来开发移动端的web应用。可以这样理解,vue和jquery类似,都是基于javascript封装的便于开发者快速开发的前端框架。只不过现在很多移动端都使用……

阅读更多

HTML meta viewport属性说明(转)

原文地址:https://www.cnblogs.com/pigtail/archive/2013/03/15/2961631.html

什么是Viewport

手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。移动版的 Safari 浏览器最新引进了 viewport 这个 meta tag,让网页开发者来控制 viewport 的大小和缩放,其他手机浏览器也基本支持。

Viewport 基础

……

阅读更多

解决Crayon Syntax Highlighter代码高亮插件多余空代码行的问题

我在wordpress里安装了一个代码高亮插件——Crayon Syntax Highlighter,这个插件有中文的配置页面,功能挺强大的,支持多种代码主题,可以自定义代码字体,边距等属性,用起来还算比较顺手的。

但是直到最近我才发现,这个插件渲染的代码块会在末尾多出一行空的代码行:

我以为我是在markdown里不小心多输入了一个回车符什么的,但是去检查了,发现也没有。去Crayon Syntax Highlighter的配置页面也没有找到相关的配置,应该是这个插件在将markdwon语法转换成html的过程里存在bug,多生成了一个空行。

我用chrome开发者工具检查了这些多出……

阅读更多

html中的meta标签总结

说起<meta>标签,作为web开发者的我们肯定都很熟悉。

最常见的就是在每个html页面中的<meta charset=”UTF-8″>。

然而虽然每天都在和<meta>标签打交道,但我们也许对<meta>标签的了解十分有限,今天这篇文章是我在网上查看了不少资料总结出来的,目的就是详细介绍下<meta>标签这个经常被我们忽略掉的老朋友。

一、meta标签的定义

The <meta> tag provides metadata about the HTML document. Metadata will not be displayed on the pa……

阅读更多

在markdown中显示HTML标签和转义字符

想写一篇关于html中的<meta>标签的博客,结果刚开始打下第一行字,就遇到问题了,因为我在wordpress中安装了markdown编辑器插件,而markdown是支持用html的语法来写文章的,因此html的标签就没办法正常展示在文章里,而是被当作了html语法来解析。

网上查了查,发现想用html标签中的字符,必须要经过转义,转义字符如下表:

比如想要展示<meta charset=”UTF-8″>,就需要写成&lt;meta charset=”UTF-8″&gt;

而除了上述的字符需要转义意外,Markdown中,还有以下的字符支持使用……

阅读更多