JavaScript第五周

网页打开新链接的方式
  1. 替换当前页面,能后退
open(url("地址","_self");
  1. 替换当前页面,禁止后退
location.replace("新url");
  1. 打开(多个)新窗口
open(url("地址","_blank");
  1. 打开一个窗口
open(url("地址","自定义的name");

window提供的属性和方法
获取浏览器完整大小:

outerWidth/outerHeight;

获取浏览器文档显示区域大小:

innerWidth/innerHeight;

获取屏幕完整大小:

screen.width/height;

打开窗口:

var newWindow=open("url","自定义name","width=,height=,top=,left=");
注意:当没有第三个参数传入时,窗口和浏览器大小一样;
	  当有第三个参数传入时,产生一个脱离浏览器的独立小窗口,可以保存并绑定事件

关闭窗口:

window/newW.close();

修改窗口大小

newW.resizeTo(new宽度,new高度);

修改窗口位置:

newW.moveTo(x,y);
定时器
  1. 周期性定时器
开启:
timer=setInterval(()=>{

	},时间)
停止:
clearInterval(timer)
  1. 一次性定时器
开启:
timer=setTimerout(()=>{

	},时间)
停止:
clearTimeout(timer)

注意:两个定时器的底层原理相同,可以互换使用
函数、循环、定时器的区别:

  1. 函数:用户触发、程序员调用
  2. 循环:一瞬间基本结束
  3. 定时器:等待一段时间再做一次
获取鼠标位置

e.screenX/Y:获取鼠标相对于屏幕的位置
e.clientX/Y:获取鼠标相对于浏览器/客户端的位置
e.pageX/Y:获取鼠标相对于页面的坐标

history对象:

保存当前窗口的历史记录

history.go(1);//前进
history.go(-1);//后退
history.go(0);//刷新
navigator对象:
navigator.userAgent
例如:
	console.log(navigator.userAgent);//输出当前浏览器的版本
location对象:

保存当前窗口正在打开的url
刷新:location.reload();
跳转后静止后退:location.replace(“新url”);
有关location的常识:
协议名(location.protocal):https、http、ftp、ws
域名/主机号(location.hostname):域名要花钱购买,底层大家都是主机号
端口号(location.port):https默认端口值为443,http默认端口值为80,默认端口值可以省略不写
文件相对路径/路由(location.pathname):决定用户查看的页面
查询字符串/请求消息(location.search):客户端发送到服务器端的内容服务器端接收后判断请求内容,进行响应

阻止冒泡
var e=event;
e.cancelBubble();//老IE(兼容)
e.stopPropagation();//主流
事件委托/利用冒泡
e.srcElement();//老IE(兼容)
e.target();主流
阻止按键F12、鼠标右键
	onkeydown=e=>{
		if(e.keyCode==123){
			e.returnValue=false;
			alert("F12已被禁止");
		}
	}
	oncontextmenu=e=>{
		e.returnValue=false;
		alert("鼠标右键已被禁止");
	}

Node.js

Globals模块

__dirname:获取当前文件夹的绝对路径
__fliename:获取当前文件夹完整的绝对路径
require:用于引入其他模块
exports:空的{},公开/暴露自身成员
module:指向当前模块,包含上述的四种变量
公开/暴露自己的成员:
	exports.属性名=值
	module.exports={}
	注意:exports与module.exports的区别
		node.js底层原理:exports=module.exports;
		有开发功能的是module.exports,当使用exports={}时,module.exports会被覆盖,不再具有公开功能
引入其他模块:
	var xxx=require("./文件名");//"./"不可省略,“.js”可以省略

Querystring模块:查询字符串

1. 使用前先引入
	let qs=require('querystring');
2. 只可解析url的部分字符串(用户提交部分)
	var obj=qs.parse("查询字符串部分");//var obj=qs.parse("name=李明&ptw=123&age=18")
3. 查询某一部分
	obj.键名//obj.name

Url模块:网址模块

1. 使用前先引入
	let url=require('url');//可以解析完整的url
2. 解析完整url
	var objUrl=url.parse("完整的url",true);//true会自动调用querystring的parse方法
3. 查询:
	objUrl.query.键名;//查询字符串
	objUrl.pathname;//判断路由

Buffer模块:将数组变成16进制数字

Node.js大部分API支持buffer操作

fs模块:FileSystem

1. 使用前先引入
	let.fs=require('fs');
	1. 异步读取文件:
		fs.readFile("绝对路径/文件路径",(err,buf)=>{
			操作
		};//buf为读取的内容
	2. 异步写入文件:替换原文
		fs.writeFile("绝对路径/文件路径","新内容"/buf,(err)=>{
			操作
		}
	3. 异步追加文件:
		fs.appendFile("绝对路径/文件路径","新内容"/buf,(err)=>{
			操作
		}

http模块:使用代码搭建服务器

1. 使用前先引入
	let http=require("http");
2. 创建服务器
	var app=http.createServer();
3. 为服务器设置监听端口
	app.listen(80);
4. 为服务器绑定事件请求
	app.on("request",(req,res)=>{
		var objUrl=url.parse(req.url,true);
		var router=objUrl.pathname;
		if(router=="/"||router=="/index.html"){
			fs.readFile("./public/index.html",router,(err,buf)=>{
				res.end(buf);
			})
		}else if(router.match(/html/)!=null){
			fs.readFile("./public"+router,(err,buf)=>{
				res.end(buf);
			})
		}else if(router.match(/css|js|json|jpg|png|woff|woff2/)1=null){
			fs.readFile("./public"+router,(err,buf)=>{
				res.end(buf);
			})
		}
	})
	注意:
		req(require):用于保存请求对象
		res(responce):用于保存响应对象

自定义模块

  1. 新建名为m1的文件夹
    创建index.js的文件,写入需要公开的内容,主模块引入方式:require(“./文件名”)
  2. 新建名为m2的文件夹
    创建创建xx.js的文件,写入需要公开的内容,主模块引入方式:require(“./文件名”)
    若文件中创建了package.json的配置文件,主模块引入方式为:require(“文件名”)
  3. 新建名为node_modules的文件夹,其中创建m3文件
    创建index/xx.js的文件,写入需要公开的内容,主模块引入方式(“文件名”)
    npm(node package manager)
  4. 检查npm是否安装成功
    npm -v
  5. 下载
    npm i 包名
  6. 删除
    npm un 包名
  7. 更新
    npm up 包名
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值