JQuery获取元素的位置信息

1
2
3
<div id="fatherElement">
<div id="childElement"></div>
</div>
1.获取设置元素的高度和宽度
1
2
3
4
$('#fatherElement').width();  //获取元素的宽度
$('#fatherElement').height(); //获取元素的高度
$('#fatherElement').width(size); //设置元素的宽度,size为宽度值
$('#fatherElement').height(size); //设置元素的高度,size为高度值

JS 压缩字符串和图片

1. JS压缩字符串

摘录

  • 对字符串进行压缩
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    function Compress(strNormalString) {
    var strCompressedString = "";

    var ht = new Array();
    for(i = 0; i < 128; i++) {
    ht[i] = i;
    }

    var used = 128;
    var intLeftOver = 0;
    var intOutputCode = 0;
    var pcode = 0;
    var ccode = 0;
    var k = 0;

    for(var i=0; i<strNormalString.length; i++) {
    ccode = strNormalString.charCodeAt(i);
    k = (pcode << 8) | ccode;
    if(ht[k] != null) {
    pcode = ht[k];
    } else {
    intLeftOver += 12;
    intOutputCode <<= 12;
    intOutputCode |= pcode;
    pcode = ccode;
    if(intLeftOver >= 16) {
    strCompressedString += String.fromCharCode( intOutputCode >> ( intLeftOver - 16 ) );
    intOutputCode &= (Math.pow(2, (intLeftOver - 16)) - 1);
    intLeftOver -= 16;
    }
    if(used < 4096) {
    used ++;
    ht[k] = used - 1;
    }
    }
    }

    if(pcode != 0) {
    intLeftOver += 12;
    intOutputCode <<= 12;
    intOutputCode |= pcode;
    }

    if(intLeftOver >= 16) {
    strCompressedString += String.fromCharCode( intOutputCode >> ( intLeftOver - 16 ) );
    intOutputCode &= (Math.pow(2,(intLeftOver - 16)) - 1);
    intLeftOver -= 16;
    }

    if( intLeftOver > 0) {
    intOutputCode <<= (16 - intLeftOver);
    strCompressedString += String.fromCharCode( intOutputCode );
    }

    return strCompressedString;
    }

利用Nodemailer发送邮件

  • 安装Nodemailer
    1
    npm install nodemailer@v0.7.1

注:版本为v0.7.1,当时试用了一次v1.0之后的版本,没有成功,报错提示让用v0.7.1版本,还没研究明白为什么新版本没有成功,可能一些方法配置还是老版本的,新版本有所更新,有待研究,希望有大神分享解释原因

  • 进行配置
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var config = {
    host: "主机名", // 主机
    secureConnection: true, // 使用 SSL
    use_authentication: true, //使用qq等邮箱需要配置
    port: 465, // SMTP 端口
    auth: {
    user: "***@***", // 账号
    pass: "password" // 密码
    }
    }

随机产生字符串(积累)

1
2
3
4
5
6
7
var chars='0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghijklmnopqrstuvwxyz'.split('');
var length = Math.floor(Math.random() * chars.length);
var str = '';

for (var i = 0; i < length; i++) {
str += chars[Math.floor(Math.random() * chars.length)];
}

js时间上的操作

1.首先了解一下javascript Date对象的一些基本方法:

可以打印一下Date对象

1
console.dir(Date)

可以看一下它的原型 prototype,里面是Date对象的function

下面就简单介绍几种常用的方法:(详细请看http://www.w3school.com.cn/jsref/jsref_obj_date.asp)

1
2
3
4
5
6
7
8
var myDate = new Date();
myDate.getDate(); //返回日期
myDate.getDay(); //返回周几(0~6,0为周日)
myDate.getMouth(); //返回月份
mydate.getFullYear(); //返回年份
myDate.getHours(); //返回小时(0~23)
myDate.getMinutes(); //返回分钟(0~59)
myDate.getSeconds(); //返回秒数(0~59)

注:get如果在没有设置时间的情况下,获取的时间日期为当天的;

藤原佐为

藤原佐为,千年执着

偶然间看了一个动漫,对围棋执着的藤原佐为。

看了之后,被里面人物的努力,执着,冷静,耐心深深折服,感慨自己。。。

一个棋盘,黑白的棋子,静静坐在旁边思考自己的人生,领悟围棋的真谛。

我需要的不是围棋,只是它给我带来的心的宁静!

吾日三省吾身,每天净化自己的灵魂,提升自己的境界!

mongodb 基础操作

  • 创建数据库
1
use test    //创建数据库test


  • 创建collection并插入数据

在传统的数据库中,创建完库后就会是创建表,但在mongodb中没有表的概念,而与其对应的概念是集合,即collection。

1
2
db.users.insert({'name':'moneyinto','sex':'man'})
//当有users时,这条命令即为在users中插入一条数据,如果没有users,则会新建一个在写入数据

mongodb 设置权限

Mongodb提供了数据加权限的方法

  • 开启安全认证模式
    1
    2
    3
    4
    5
    //找到mongodb.conf文件,将auth = true的注释去掉,
    //如果是linux或ubuntu系统使用apt-get安装的mongodb的话
    $ cd /etc
    $ vim mongodb.conf
    //其与系统或其他安装方法没有尝试过,其自行查找

Javascript闭包了解

1. 闭包的概念

  • 简单理解为 所有的函数 都是闭包;
  • 细化理解一下,闭包就是 读取外部变量 的函数;
  • 再细化一下,可以理解为定义在一个 函数内部 读取外部变量的函数。

函数读取外部变量:

1
2
3
4
5
var a = 1;
function f1() {
console.log(a);
}
f1(); // 1

注意:

  • 函数内部声明的局部变量,函数外部无法读取;
  • 子对象可以获取父级对象的变量,但是父级对象无法获取子对象的变量!