第五周总结

178 阅读3分钟

1.打开链接的方式

  1. 在当前页面打开,可以后退 open("url","_self");
  2. 在当前页面打开,不能后退 location.replace("新url");
  3. 在新窗口打开,可以打开多个 open("url","_blank");
  4. 在新窗口打开,只能打开一个 比如,只能打开一个结账页面 open("url","自定义name"); 自定义name:随便写的一个东西,每个窗口的底层都会有一个名字,打开时如果没有此名字的窗口则为打开,有名字的窗口则为替换

2.定时器

  1. 周期性定时器
    开启:timer=setInterval(回调函数,间隔毫秒数) 停止:clearInterval(timer);
  2. 一次性定时器
    开启:timer=setTimeout(回调函数,间隔毫秒数) 停止:clearInterval(timer);

3.history

前进:history.go(1); 后退:history.go(-1); 刷新:history.go(0);

4.location

协议:location.protocol;
域名:location.hostname;
端口号:location.port;
路由/文件路径:location.pathname;
请求消息/查询字符串:location.search

5.event

兼容:var e=event;
利用冒泡/事件委托:
e.target代替了this
兼容e.srcElement;

事件 1、鼠标右键:oncontextmenu 2、键盘按下:onkeydown

6. webStorage:

  1. sessionStorage - 会话级-一旦关闭就没了
  2. localStorage - 本地级 永久存在
    1、添加:xxxxStorage.属性名=值;
    2、获取:xxxxStorage.属性名;
    3、删除:xxxxStorage.removeItem("属性名"); - 只会删除一个
    4、清空:xxxxStorage.clear(); - 删除全部

7.node.js

  1. fs模块(异步)
    引入:const fs = require('fs');
  2. 读取fs.readFile("文件的路径",(err,buf)=>{ buf-读取到的内容 })
  3. 写入fs.writeFile("文件的路径","新内容",()=>{ //写入完毕后要干什么操作就放在这里 })
  4. 追加fs.appendFile("文件的路径","新内容",()=>{ //写入完毕后要干什么操作就放在这里 })

8.http模块

  1. 引入
    var http=require("http");
    var url=require("url");
    var fs=require("fs");

  2. 创建服务器 var app=http.createServer();

  3. app.listen(80);

  4. app.on("request",(req,res)=>{ //req:request,请求,前端发的才叫请求,而,这个req对象,会有一个属性叫做req.url,就可以得到前端传来的路由&请求消息,我们希望把路由和请求消息区分开,所以需要搭配另一个url模块
    var objUrl=url.parse(req.url,true);
    var router=objUrl.pathname;
    if(router=="/" || router=="/index.html"){
    //应根据判断路由的不同,响应不同的页面,给用户看,需要用到另一个模块fs
    fs.readFile("./public/html/index.html",(err,buf)=>{
    //res:response,响应,后端回答的才叫响应,而,这个res对象,会有一个方法叫做req.end(str/buf);可以进行响应
    res.end(buf)
    })
    }else if(router.match(/html/)!=null){
    fs.readFile("./public/html"+router,(err,buf)=>{
    //res:response,响应,后端回答的才叫响应,而,这个res对象,会有一个方法叫做req.end(str/buf);
    可以进行响应
    res.end(buf)
    })
    }else if(router.match(/css|js|png|gif|jpg|woff|woff2|webp|jpeg/)!=null){
    fs.readFile("./public"+router,(err,buf)=>{
    //res:response,响应,后端回答的才叫响应,而,这个res对象,会有一个方法叫做req.end(str/buf);可以进行响应
    res.end(buf)
    })
    }
    })

  5. 数据库 1、使用npm安装mongoose第三方模块

    2、使用步骤: 1、引入:var mongoose = require('mongoose'); 2、连接数据库:mongoose.connect("mongodb://127.0.0.1/数据库名称"); 3、创建出一个新的数据表的同时,设置数据类型的控制,防止用户乱输: var userSchema=mongoose.Schema({ name: String, age: Number, pwd: String, email: String, vip: String }) // 自定义 选中了你想要操作的某个数据表 var User=mongoose.model("User",userSchema,"数据表名")

     4、增:
     	var x=new User({
     		name: "李红慧",//
     		age: 18,
     		pwd: "123456",
     		email: "lhh@qq.com",
     		vip: 1
     	})
     	x.save((err)=>{
     		console.log("新增完毕要做什么,就在这里做")
     	})
    
     5、删:
     	User.remove/【deleteOne】/deleteMany({条件},(err)=>{
     		console.log("删除完毕要做什么,就在这里做")
     	})
    
     6、改:
     	User.update/【updateOne】/updateMany({条件},{新内容},(err)=>{
     		console.log("修改完毕要做什么,就在这里做")
     	})
    
     7、查:
     	User.find({条件},(err,result)=>{
     		result;//返回的结果,是我们的最爱JSON格式
     	})