分类目录归档:Javascript

angularjs的数组传参方式的简单实现

初学 angularjs时,对 数组传参方式感到很好奇([‘a’, ‘b’, function(a,b){}]),它到底怎么实现的呢?后来由于工作很忙,对这个问题也就慢慢忘记了。

今天闲来无事,有想到了这个问题。最简单的方法就是查看他的源代码。无奈本人E文不好,不说看他的设计逻辑,仅看英文注释就够我头疼了。尝试闭门造车,最终竟然把车造出来了。

既然自己造的车,就要带上自己的名(取姓名拼音第一个字母),就叫他mqyJs把,下面是演示的调用方法:

var app2 = mqyJs.applicationCreate([{ name: '直接传入SCOPE' }, '$hello', '$world', function($scope, $hello, $world) {
    return $scope.name + ": " + $hello.name + $world.name;
}]);

核心部分如下: 继续阅读

通过 UserAgent 判断是否在我们自己的安卓APP中

之前 写过一篇 根据 UserAgent 判断网页是在浏览器、或在微信、或在APP中 (http://www.miaoqiyuan.cn/p/useragent-in-where),那篇文章能通过 UserAgent 判断出 是否在微信、浏览器或者其他APP中,如果需要判断是否在我们自己开发的APP中,就无能为力了。

WebView 提供了 setUserAgentString,可以任意修改 UserAgent。我们只需要在 UserAgent 中增加 自定义的 字符串,就可以在网页中通过JS判断是否在我们自己的APP内。

MainActivity.java 的代码如下: 继续阅读

使用NodeJS采集老黄历网(使用http按顺序采集)

使用NodeJS采集老黄历网,将网页保存到本地,使用了http。

因为目标网站是gbk编码,需要单独安装iconv-lite进行转换。

因为http.get是异步的,流程控制使用了之前写的PromiseDemo(http://www.miaoqiyuan.cn/p/promise),采集完一个才继续采集下一个。

日期返回使用了前几天下的date.js(http://www.miaoqiyuan.cn/p/date-range)

废话少说,直接上代码: 继续阅读

用JS 重新造了个轮子,农历计算脚本,有详细的注释

工作中有时需要农历计算,之前从网上找了个JS版本的(摘自wannianli.htm,网上导出都是),直接调用就可以了,非常方便。有优点就有缺点,该版本文件有点大(20KB以上);有很多代码用不到;代码注释不够直白;理解其原理有点麻烦。

之前用过多次,对原理也不是很清楚,最近项目需要,重新造了一遍轮子。包含源码注释的文件控制在7KB以内,压缩后再3KB以内。 继续阅读