zoukankan      html  css  js  c++  java
  • 前端笔记 2020.4.1 (nodejs文件读写、最简nodejs搭建http服务器,数据转型)数据类型

    nodejs文件读写:

    //读取文件流
    function readStream(){
        var fs=require("fs");
        var data="";
        var readerStream=fs.createReadStream("input.txt");
        readerStream.setEncoding("utf-8");
        readerStream.on("data",function(chunk){
            data+=chunk;
        });
        readerStream.on("end",function(){
            console.log(data);
        });
        readerStream.on("error",function(err){
            console.log(err.stack);
        });
        console.log("end");
    }
    //写入文件流
    function writeStream(){
        var fs=require("fs");
        var data=new Date().getTime()+"";
        var writerStream=fs.createWriteStream("output.txt");
        writerStream.write(data,"utf-8");
        writerStream.end();
        writerStream.on("finish",function(){
            console.log("写入完成");
        });
        writerStream.on("error",function(err){
            console.log(err.stack);
        });
        console.log("end");
    }
    //管道流 将一个文件的内容复制到另一个文件中
    function copy(){
        var fs=require("fs");
        var readerStream=fs.createReadStream("input.txt");//读取input.txt的流
        var writerStream=fs.createWriteStream("output.txt");//写入output.txt的流
        //读取input,写入output
        readerStream.pipe(writerStream);
        console.log("end");
    }
    
    //readStream();
    //writeStream();
    copy();

    buffer转为json:

    //buffer转为json
    var buf1=new Buffer("www.baidu.com");
    var json=buf1.toJSON(buf1);
    console.log(json);

    最简nodejs搭建http服务器:

    var h=require("http");
    h.createServer(function(req,res){
        res.writeHead(200,{'Content-Type':'text/plain'});
        res.end('hello world');
    }).listen(8888);
    console.log("http://localhost:8888");

    数据类型转型:(很少用到)

    //数据转型
    {
        console.log(Boolean("-"),Boolean(""))//true false 字符串 非空为true
        console.log(Boolean(1),Boolean(0))//true false 数字 非0为true
    }
    数据类型检查:(typeof基本类型 instanceof引用类型)
    //数据类型检查
    {
        console.log(typeof 1)//number 基本类型可以用
        console.log([] instanceof Array,{} instanceof Object)//true true 引用类型可以用
    }
    symbol类型:(可以作为对象属性名,不能用点操作)
    //symbol
    {
        let s=Symbol("1")
        console.log(s,String(s))//Symbol(1) Symbol(1) 转字符串
        //可以作为对象属性名
        let a1=Symbol(1)
        let a2=Symbol(1)
        let o={
            [a1]:11,
            [a2]:12
        }
        console.log(o[a1],o[a2])//11 12
    }

    对象的深拷贝:(数据修改后不会被影响)

    //对象的拷贝 不关联堆栈 深拷贝
    {
        let o={
            a:{
                b:1
            },
            c:2
        }
        let p=JSON.stringify(o)//对象转字符串
        let o1=JSON.parse(p)//字符串转对象
        o.a.b=3
        o.c=3
        console.log(o,o1)
    }

    返回

  • 相关阅读:
    Java的快速失败和安全失败
    Java RMI与RPC的区别
    Java动态代理之JDK实现和CGlib实现(简单易懂)
    JVM——字节码增强技术简介
    Linux内存分配机制之伙伴系统和SLAB
    操作系统动态内存管理——malloc和free的工作机制
    Java中的Map
    Java的PriorityQueue
    Java中的List
    Java中的Set
  • 原文地址:https://www.cnblogs.com/wuhairui/p/12611046.html
Copyright © 2011-2022 走看看