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......

阅读更多