2016年3月10日

javascript

json

//JSON.parse 将 JSON 字符串转换成对象。
var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}'; 
var contact = JSON.parse(jsontext); 
document.write(contact.surname + ", " + contact.firstname); 

// Output: Aaberg, Jesper
// 


//JSON.stringify() 方法可以将任意的 JavaScript 值序列化成 JSON 字符串
//JSON.parse() 方法可以将一个 JSON 字符串解析成为一个 JavaScript 值。在解析过程中,还可以选择性的篡改某些属性的原始解析值。
//

var arr = ["a", "b", "c"]; 
var str = JSON.stringify(arr); 
document.write(str); 
document.write ("<br/>"); 

var newArr = JSON.parse(str); 

while (newArr.length > 0) { 
    document.write(newArr.pop() + "<br/>"); 
} 


// Output: 
// ["a","b","c"] 
// c 
// b 
// a

Nodejs

  • File System - 文件系统模块 -require("fs")

    • 该模块是核心模块,需要使用require导入后使用

    • 该模块提供了操作的一些API

  • fs.readFile(filename, [options], callback)

    • fs.read()函数的同步版本。返回bytesRead的个数。

  • fs.write(fd, buffer, offset, length[, position], callback)

    • fd : 打开的文件

    • buffer : 要写入的数据

    • offset : buffer对象中要写入的数据的起始位置

    • length : 要写入的buffer数据的长度

    • position : fd中的起始位置

    • callback : 回调

fs.open('1.txt','r+',function(err,fd){
    console.log(err);
    console.log(fd);
    if (err) {
        console.log("打开文件失败。");
    }else{
        var bf=new Buffer("acdb");
        console.log(bf);
        fs.write(fd,bf,0,3,10,function(){
            console.log(arguments);//{ '0': null(错误信息), '1': 5(数据长度), '2': <Buffer 31 32 33 34 33 35 34 35>(buffer内容) }
            console.log("Bf更新后内容:"+bf);

        });
    }

})
  • fs.write(fd, data[, position[, encoding]],callback)

    • 把data写入到文档中,通过指定的fd。如果data不是buffer对象的实例则会把值强制转化成一个字符串。

  • fs.writeSync(fd, buffer, offset, length[, position])

    • fs.write()同步版本

  • fs.writeSync(fd, data[, position[, encoding]])

    • fs.write()同步版本

  • fs.close(fd,callback)

    • 关闭一个打开的文件

  • fs.closeSync(fd)

    • fs.close()的同步版本。

  • fs.writeFile(filename, data, [options], callback)

    • 异步的将数据写入一个文件,如果文件不存在则新建,如果文件原先存在,会被替换。data可以是一个string,也可以是一个原生buffer。

var fs=require("fs");
var rq=new Date();

var time=rq.getFullYear()+"年"+(rq.getMonth()+1)+"月"+rq.getDate()+"日";
var fileName=time+".markdown";
console.log(fileName);
fs.writeFile("1/"+fileName,"#"+time,function(){
    console.log(arguments);
});
  • fs.writeFileSync(filename, data, [options])

    • fs.writeFile的同步版本。注意:没有callback,也不需要。

  • fs.appendFile(filename, data, [options], callback)

    • 异步的将数据添加到一个文件的尾部,如果文件不存在,会创建一个新 文件。data可以是一个string,也可以是一个原生buffer。

  • fs.appendFileSync(filename, data, [options])

    • fs.appendFile的同步版本

  • fs.readFile(filename, [options], callback)

    • 异步读取一个文件的全部内容

  • fs.readSync(fd, buffer, offset, length, position)

    • fs.readFile同步版本

  • fs.exists(path, callback)

    • 检查指定路径的文件或者目录是否存在

  • fs.existsSync(path)

    • fs.exists 函数的同步版。

  • fs.unlink(path, callback)

    • 删除一个文件

  • fs.unlinkSync(path)

    • fs.unlink()同步版本。

Last updated