JavaScript笔记

day15 js语法
1、js语法+变量
	1.1 js注释与分号
		//    单行注释
		/**/  多行注释
		语句结束使用分号,如果省略,则由解析器确定语句的结尾

	1.2 ECMAScript中的一切(变量、函数名和操作符)都区分大小写

	1.3 JS的标识符
		- 什么是标识符?
		  变量、函数、属性的名字,或者函数的参数。

		- 标识符的命名规则
		  1.由字母、数字、下划线(_)或美元符号($)组成
		  2.不能以数字开头
		  3.不能使用关键字、保留字作为标识符

	1.4 变量
		- 什么是变量
		  ECMAScript的变量是松散类型
		  松散类型:可以用来保存任何类型的数据。
		  换句话说,每个变量仅仅只是一个用于保存值的占位符而已。

		- 变量的声明与赋值
			1.变量声明:
			  变量的声明要使用var操作符
			  语法:var 变量名

			2.变量赋值:
			  声明的同时赋值:var 变量名=值
			  先声明后赋值:变量名=值

			3.一次声明多个变量,用逗号隔开,如:var id,sex,age,name="marry";

			4.省略var声明的变量是全局变量,不推荐省略var操作符来定义全局变量

2、js数据类型
	简单数据类型:
	Undefied
	Null
	Boolean
	Number
	String
	复杂数据类型
	Object
	注:ECMASccript6新增symbor数据类型

	2.1 js数据类型之undefined和null
		- typeof
			功能:检测变量类型
			语法:typeof 变量 或 typeof(变量)
			返回值:string类型,有可能是:string、number、boolean、object、undefined、function

		- Undefied
			Undefied类型只有一个值,即特殊的undefied
			说明:一般而言,不存在需要显式地把一个变量设置为Undefined值的情况。

		- null
			null值表示一个空指针对象
			如果定义的变量准备在将来用于保存对象,那么最好将改变量初始化为null而不是其他值。
		说明:undefined值是派生自null值,所以undefined==null的返回结果是true.

	2.2 js数据类型之Number和isNaN
		- Number:表示整数和浮点数
		- NaN:即非数值(Not a Number)是一个特殊的数值
		说明:1.任何涉及NaN的操作(例如NaN/10)都会返回NaN。
			2.NaN和任何值都不相等,包括NaN本身。

		- isNaN
			语法:isNaN(n)
			功能:检测n是否是"非数值"
			返回值:boolean
			参数:参数n可以是任何类型
			说明:isNaN()对接收的数值,先尝试转换为数值,再检测是否为非数值。

	2.3 js数据类型之数值转换
		- 有3个函数可以把非数值转换为数值:
			Number()   ParseInt()   ParseFloat()
			说明:1、Number()可以用于任何数据类型
				2、parseInt()和parseFloat()则专门用于把字符串转换为数值。

		- ParseInt():会忽略字符串前面的空格,直至找到第一个非空格字符。
			说明:1、ParseInt():转换空字符串返回NaN。
				2、parseInt()这个函数提供第二个参数:转换时使用的基数(即多少进制)

		- ParseFloat:从第一个字符开始解析每个字符,直至遇见一个无效的浮点数字符为止。
			说明:除了第一个小数点有效外,parseFloat()与parseInt()的第二个
				  区别在于它始终都会忽略前导的零。

	2.4 js数据类型之String与boolean
		- String
			String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。
			字符串可以由双引号("")或单引号('')表示。

		- toString()与String()
			语法:str.toString()
			功能:将str转换为字符串
			返回值:str的一个副本
			参数:str是要转换的内容,可以是数值、布尔值、对象和字符串,
			说明:在不知道转换的值是不是null或undefined的情况下,
			还可以使用String()函数,它能够将任何类型的值转换为字符串。

		- Boolean
			用于表示真假的的类型,即true表示真,false表示假

			类型转换
			1.除0之外的所有数字,转换为布尔型都为true
			2.除""之外的所有字符,转换为布尔型都为true
			3.null和undefined转换为布尔型为false

3、JS算数操作符
	3.1 算数操作符
		- 什么是表达式?
			将同类型的数据(如常量、变量、函数),用计算符号按一定的规则连接起来、有意义
			的式子称为表达式。

		- 操作符的分类
			1.算数操作符
			2.逻辑操作符
			3.赋值操作符
			4.比较操作符
			5.三元操作符

			* 算数操作符
			+:加
			-:减
			*:乘
			/:除
			%:取余

			* 递增和递减
			1.++a与a++都是对a进行递增的操作
			区别:++a先返回递增之后的a的值;a++先返回a的原值,再返回递增之后的值
			2.递减同理

			* 赋值操作符
			简单赋值:=
			复合赋值:+=  -=  *=  /=  %=

			* 比较操作符
			>、<、>=、<=、==、===、!=、!==
			==:相等,只比较值是否相等
			===:相等,比较值的同时比较数据类型是否相等
			!=:不相等,比较值是否不相等
			!==:不相等,比较值的同时比较数据类型是否不相等,返回值:boolean型

			* 三元操作符
			语法:
			条件?执行代码1:执行代码2
			说明:
			可代替简单的if语句,如果条件成立,执行代码1,否则执行代码2

			* 逻辑操作符
			&& 与 
			|| 或 
			! 非 

			&& 与 (只要有一个条件不成立,返回false)
			说明:在有一个操作数不是布尔值的情况,逻辑与操作不一定返回值,此时它
			遵循下列规则:
				1.如果第一个操作数隐式类型转换为true,则返回第二个操作数
				2.如果第一个操作数隐式类型转换为false,则返回第一个操作数
				3.如果有一个操作数是null,则返回null
				4.如果有一个操作数是NaN,则返回NaN
				5.如果有一个操作数是undefined,则返回undefined

			|| 或 (只要有一个条件成立,返回true)
			说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,此时它
			遵循下列规则:
				1.如果第一个操作数隐式类型转换为true,则返回第一个操作数
				2.如果第一个操作数隐式类型转换为false,则返回第二个操作数
				3.如果有两个操作数都是null,则返回null
				4.如果有两个操作数都是NaN,则返回NaN
				5.如果有两个操作数都是undefined,则返回undefined

			!非
			说明:1.无论操作数是什么数据类型,逻辑非都会返回一个布尔值
				2.!!同时使用两个非操作符时
					- 第一个逻辑非操作无论什么操作数返回一个布尔值
					- 第二个逻辑非则对该布尔值求反

day 16 JS流程控制语句
第一章 JS分支语句
	1.if语句
	语法1:
	if (condition) {
		statement1;
	}
	语法2:
	if (condition) {
		statement1;
	}else{
		statement2;
	}
	语法3:
	if (condition) {
		statement1;
	}else if{
		statement2;
	}else{
		statement3;
	}

	2.alert()
	语法:alert()
	功能:弹出警告对话框

	3.prompt();
	语法:prompt()
	功能:弹出输入框
	返回值:1.点击确定,返回输入值
		2.点击取消,返回null

	3.length
	语法:string.length
	功能:获取string字符串的长度
	返回值:number

	4.获取星期
	语法:newDate().getDay()
	功能:获取星期
	返回值:number(0-6)

	5.switch语句
	语法:
	switch(expression){
		case value:statement
		break;
		case value:statement
		break;
		......
		default:statement
	}

	6.输出
	语法:document.write("内容")
	功能:向浏览器输出内容

第二章 JS循环语句
	1 for语句
	语法: 
	for(语句1;语句2;语句3){
		被执行的代码块;
	}
	语句1:在循环(代码块)开始前执行
	语句2:定义循环(代码块)的条件
	语句3:在循环(代码块)已被执行之后执行
	
	2 for嵌套

	3 while循环

第三章 break和continue语句

day17 JS函数
	1.函数的作用
		通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。

	2.函数的定义
		函数通过function声明,后跟一组参数以及函数体,语法如下:
			function function_name([arg0,arg1,...,argn]) {
				// body...
			}
		说明:1.functionName是要定义的函数名,属于标识符
			2.[]中的arg0,arg1,...argn为函数的参数
			3.[]说明里面的内容不是必须的,它不是语法

	3.函数的调用
		语法: 
		函数名([arg1,arg2,...,argn])

	4.函数的返回值
		任何函数通过return语句,后面跟着返回的值在实现返回值。
		1.函数会在执行完return语句之后停止并立即退出。
		2.return语句也可以不带有任何返回值,用于提前停止函数执行又不需要返回值的情况

	5.arguments
	ECMAScript的参数在内部用一个数组来表示,
	在函数体内通过arguments对象来访问这个数组参数。
	说明:1.arguments对象只是与数组类似,并不是Array的实例
		2.[]语法访问它的每一个元素
		3.length属性确定传递参数的个数

day18 JS内置对象
1.Array数组
	1.1 创建数组的基本方式有两种:
		1.1.1 使用Array构造函数
		语法:new Array()
		小括号()说明: 
		(1)预先知道数组要保存的项目数量
		(2)向Array构造函数中传递数组应包含的项
		1.1.2 使用数组字面量表示法
		由一对包含数组项的方括号[]表示,多个数组项之间以逗号隔开。

	1.2 数组元素的读写
	读取和设置值时,使用方括号[]并提供相应的索引
	说明:索引是从0开始的正整数

	1.3 数组长度
	语法:array.length 
	功能:获取数组array的长度
	返回值:number
	说明:1.通过设置length可以从数组的末尾移除项或向数组中添加新项
		2.当我们把一个值放在超出数组大小的位置上时,会重新计算数组长度值,
		长度值等于最后一项索引加1。

	1.4 数组方法
		1.4.1 push()
		语法: 
		arrayObject.push(newele1,newele2,...,neweX)
		功能: 
		把它的参数顺序添加到arrayObject的尾部
		返回值: 
		把指定的值添加到数组后的新长度

		1.4.2 unshift()
		语法: 
		arrayObject.unshift(newele1,newele2,...,neweX)
		功能: 
		把它的参数顺序添加到arrayObject的开头。
		返回值: 
		把指定的值添加到数组后的新长度。

		1.4.3 pop()
		语法: 
		arrayObject.pop()
		功能: 
		删除arrayObject的最后一个元素
		返回值: 
		被删除的那个元素

		1.4.4 shift()
		语法: 
		arrayObject.shift()
		功能: 
		删除arrayObject的第一个元素
		返回值: 
		被删除的那个元素

		1.4.5 join()
		语法: 
		arrayObject.join(separator)
		功能: 
		用于把数组中的所有元素放入一个字符串。
		返回值:
		字符串 

		1.4.6 reverse()
		语法: 
		stringObject.reverse()
		功能: 
		用于颠倒数组中元素的顺序。
		返回值: 
		数组 

		1.4.7 sort()
		语法: 
		arrayObject.sort(sortby)
		功能: 
		用于对数组的元素进行排序
		返回值:数组
		说明:1.即使数组中的每一项都是数值,sort()比较的也是字符串。
			2.sort()方法可以接收一个比较函数作为参数。

		1.4.8 concat()
		语法: 
		arrayObject.concat(arrayX,arrayX,...,arrayX)
		功能: 
		用于连接两个或多个数组
		返回值:数组

		1.4.9 slice()
		语法: 
		arrayObject.slice(start,end)
		功能:
		从已有的数组中返回选定的元素
		参数: 
		start(必需)规定从何处开始选取,如是负数,从数组尾部开始算起
		end(可选)规定从何处选取结束,是数组片断结束处的数组下标
		说明:1.如没指定end,切分的数组包含从start到数组结束的所有元素
			2.如slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。
		返回值:数组

		1.4.10 splice() 最强大
		-- 删除
		语法: 
		arrayObject.splice(index,count)
		功能: 
		删除从index处开始的零个或多个元素
		返回值: 
		含有被删除元素的数组
		说明: 
		count是要删除的项目数量,如果设置为0,则不会删除项目。
		如果不设置,则删除从index开始的所有值。

		-- 插入
		语法: 
		arrayObject.splice(index,0,item1,...,itemX)
		功能: 
		在指定位置插入值
		参数:
		Index:起始位置
		0:要删除的项数
		item1,...,itemX:要插入的项
		返回值:数组 

		-- 替换
		语法: 
		arrayObject.splice(index,count,item1,...,itemX)
		功能: 
		在指定位置插入值,且同时删除任意数量的项
		参数: 
		Index:起始位置
		count:要删除的项数
		item1,...,itemX:要插入的项
		返回值:从原始数组中删除的项(如果没有删除任何项,则返回空数组)

		1.4.11 indexOf()和lastindexOf()
		语法:
		arrayObject.indexOf(searchvalue,startIndex)
		功能: 
		从数组的开头(位置0)开始向后查找
		参数: 
		searchvalue:必需,要查找的项;
		startIndex:可选,起点位置的索引
		返回值:
		number,查找的项在数组中的位置,没有找到的情况下返回-1

		注:lastindexOf()是从尾部进行查找
		说明:1.在比较第一个参数与数组中的每一项时,会使用全等操作符,即要求的
			查找的项必须严格相等。
			2.数组的位置方法是ECMAScript5为数组实例新增的,所以支持的浏览器只有
			IE9+、Firefox2+、Safari3+、Opera9.5和Chome

2.String
	2.1 chartAt-charCodeAt-indexOf和lastIndexOf
		2.1.1 charAt()
		语法: 
		stringObject.charAt(index)
		功能:
		返回stringObject中index位置的字符

		2.1.2 charCodeAt()
		语法: 
		stringObject.charCodeAt(index)
		功能:
		返回stringObject中index位置字符的字符编码

		说明:ECMAScript5中可使用"方括号加字符索引"来访问字符串中特定的字符,
		但是IE7及更早的浏览器会返回undefined。

		2.1.3 indexOf()
		语法: 
		stringObject.indexOf("o")
		功能: 
		从一个字符串中搜索给定的子字符串,返回子字符串的位置。
		返回值:数值
		说明:如果没有找到该子字符串,则返回-1

		注:lastindexOf()是从尾部进行查找

	2.2 slice()-substring()和substr()
		2.2.1 slice()
		语法: 
		stringObject.slice(start,end)
		功能: 
		截取子字符串。
		参数说明:1.start:必需,指定子字符串开始位置
			2.end:可选,表示子字符串到哪里结束,end本身不在截取范围之内,
			省略时截取至字符串的末尾。
			3.当参数为负数时,会将传入的负值与字符串的长度相加。

		2.2.2 substring()
		说明:语法及功能同 slice() 完全一样
		区别在于:1.当参数为负数时,自动将参数转换为0
			2.substring()会将较小的数作为开始位置,将较大的数作为结束位置

		2.2.3 substr()
		语法:stringObject.substr(start,len)
		功能:截取子字符串
		参数说明:1.start:必需,指定子字符串的开始位置
			2.len:可选,表示截取的字符总数,省略时截取至字符串的末尾
			3.当star为负数时,会将传入的负值与字符串的长度相加。
			4.当len为负数时,返回空字符串

	2.3 split和replace
		2.3.1 split()
		语法: 
		stringObject.split(separator)
		功能:把一个字符串分割成字符串数组
		返回值:Array
		说明: 
		separator:必需,分隔符。

		2.3.2 replace()
		语法: 
		stringObject.replace(regexp/substr,replacement);
		功能: 
		在字符串中用一些字符替换另一些字符,或替换与一个正则表达式匹配的子串。
		返回值:String 
		参数: 
		regexp:必需。规定子字符串或要替换的模式的RegExp对象
		replacement:必需。一个字符串值。

	2.4 toUpperCase()与toLowerCase()
		语法:stringObject.toUpperCase()
		功能:把字符串转换为大写

		语法:stringObject.toLowerCase()
		功能:把字符串转换为小写

3.Math
	3.1 min()-max()-ceil()-floor()-round()-abs()
		3.1.1 Math.min()
		语法:Math.min(num1,num2,...numN)
		功能: 
		求一组数中的最小值
		返回值:Number 

		3.1.2 Math.max()
		语法:Math.max(num1,num2,...numN)
		功能: 
		求一组数中的最大值
		返回值:Number 

		3.1.3 Math.ceil()
		语法:Math.ceil(num)
		功能:向上取整,即返回大于num的最小整数
		返回值:Number

		3.1.4 Math.floor()
		语法:Math.floor(num)
		功能:向下取整,返回num的整数部分。
		返回值:Number

		3.1.5 Math.round()
		语法:Math.round(num)
		功能:将数值四舍五入为最接近的整数
		返回值:Number

		3.1.6 Math.abs()
		功能:
		返回num的绝对值
		返回值:Number

	3.2 random()
		语法:Math.random()
		功能:
		返回大于0小于1的一个随机数
		返回值:Number
		说明: 
		求n到m之间的随机整数的公式
		random=Math.floor(Math.random()*(m-n+1)+n)
4.Date
	4.1 创建一个日期对象
	语法:new Date()
	功能:创建一个日期时间对象
	返回值:不传参的情况下,返回当前的日期时间对象

	- 获取年月日分秒及日期的方法
		1.getFullYear():返回四位数的年份
		2.getMonth():返回日期中的月份,返回值为0-11
		3.getDate():返回月份中的天数
		4.getDay():返回星期,返回值为0-6
		5.getHours():返回小时
		6.getMinutes():返回分
		7.getSeconds():返回秒
		8.getTime():返回表示日期的毫秒数

	- - 设置年月日分秒及日期的方法
		1.setFullYear():设置4位数的年份
		2.setMonth():设置日期中的月份,从0开始,0表示1月
		3.setDate():设置日期
		4.setDay():设置星期,从0开始,0表示星期日
		5.setHours():设置小时
		6.setMinutes():设置分
		7.setSeconds():设置秒
		8.setTime():以毫秒数设置日期,会改变整个日期


day19 JS DOM基础
1、DOM
	1.1 DOM查找方法
	- 语法:document.getElementById("id")
	功能:返回时对拥有指定ID的第一个对象的引用
	返回值:DOM对象
	说明:id为DOM元素上id属性的值
	- 语法:document.getElementsByTagName("tag")
	功能:返回一个对所有tag标签引用的集合
	返回值:数组 
	说明:tag为要获取的标签名称

	1.2 DOM(如何设置元素样式)
	js可以动态给元素设置样式
	语法:ele.style.styleName=styleValue
	功能:设置ele元素的CSS样式
	说明:1.ele为要设置样式的DOM对象
		2.styleName为要设置的样式名称(不能使用"-"连字符形式fontSize使用驼峰命名形式fontSize)
		3.styleValue为设置的样式值

	1.3 DOM(innerHTML和className)
		1.3.1 innerHTML(获取和设置标签之间的文本和html内容) 
		语法:ele.innerHTML
		功能:返回ele元素开始和结束标签之间的HTML
		语法:ele.innerHTML="html"
		功能:设置ele元素开始和结束标签之间的HTML内容为html

		1.3.2 className
		语法:ele.className
		功能:返回ele元素的class属性
		语法:ele.className="cls"
		功能:设置ele元素的class属性为cls


	1.4 DOM的属性设置与获取
		1.4.1 获取属性
		语法:ele.getAttribute("attribute")
		功能:获取ele元素的attribute属性
		说明:1.ele是要操作的dom对象
			2.attribute是要获取的html属性

		1.4.2 设置属性
		语法:ele.setAttribute("attribute",value)
		功能:在ele元素上设置属性
		说明:1.ele是要操作的对象 
			2.attribute为要设置的属性名称
			3.value为设置的attribute属性的值 
		注:1.setAttribute方法必须要有两个参数
			2.如果value是字符串,需加引导
			3.setAttribute()有兼容性问题

		1.4.3 删除属性
		语法:ele.removeAttribute("attribute");
		功能:删除ele上的attribute属性
		说明:1.ele是要操作的dom对象
			2.attribute是要删除的属性名称


day20 JS DOM事件
1、事件的绑定
    1.1 HTML事件(直接在HTML元素标签内添加事件,执行脚本)
		语法:<tag 事件="执行文本"></tag>
		功能:在HTML元素上绑定事件
		说明:执行脚本可以是一个函数的调用

		鼠标事件
		- onload:页面加载时触发
		- onclick:鼠标点击时触发
		- onmouseover:鼠标滑过时触发
		- onmouseout:鼠标离开时触发
		- onfoucs:获得焦点时触发
		- onblur:失去焦点时触发
		- onchange:域的内容改变时发生

    1.2 DOM0级事件
		步骤:- 通过DOM获取HTML元素
		  	  - (获取HTML元素).事件=执行脚本
		语法:ele.事件=执行脚本
		功能:在DOM对象上绑定事件
		说明:执行脚本可以是一个匿名函数,也可以是一个函数的调用

		不建议使用HTML事件原因:
		- 多元素绑定相同事件时,效率低
		- 不建议在HTML元素中写JavaScript代码

2、事件类型
	2.1 事件类型
		鼠标事件
		- onload:页面加载时触发
		- onclick:鼠标点击时触发
		- onmouseover:鼠标滑过时触发
		- onmouseout:鼠标离开时触发
		- onfoucs:获得焦点时触发
		(该事件用于:-input标签type为text、password 
					  -textarea标签)
		- onblur:失去焦点时触发
		- onchange:域的内容改变时发生

		- onsubmit:表单中的确认按钮被点击时发生
		- onmousedown:鼠标按钮在元素按下时触发
		- onmousemove:在鼠标指针移动时候发生
		- onmouseup:在元素上松开鼠标按钮时触发
		- onresize:当调整浏览器窗口的大小时触发
		- onscroll:拖动滚动条滚动时触发

3、键盘事件
	3.1 键盘事件与keyCode属性
	- onkeydown:在用户按下一个键盘按键时发生
	- onkeypress:在键盘按键被按下并释放一个键时发生
	- onkeyup:在键盘按键被松开时发生
	- keyCode:返回onkeypress、onkeydown或onkeyup事件触发的键的值的字符代码,或键的代码
	

day21 jsBOM基础
1、windows对象
	1.1 window对象(全局对象)
	- 什么是BOM
	BOM(browser object model)浏览器对象模型
	- BOM的对象有
	window、navigator、screen、history、location、document、event

	- window 
	window是浏览器的一个实例,在浏览器中,window对象有双重角色,它既是通过
	JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象(全局对象)
	* 所有的全局变量和全局方法都被归在window上

	1.2 window对象方法(alert-confirm-prompt)
	语法:window.alert("content");
	功能:显示带有一段消息和一个确认按钮的警告框

	语法:window.confirm("message")
	功能:显示一个带有指定消息和OK及取消按钮的对话框
	返回值:如果用户点击确定按钮,则confirm()返回true 
			如果用户点击取消按钮,则confirm()返回false

	语法:window.prompt("text,defaultText");
	参数说明: 
	text:要在对话框中显示的纯文本(而不是HTML格式的文本)
	defaultText:默认的输入文本
	返回值:如果用户点击提示框的取消按钮,则返回null
			如果用户单击确认按钮,则返回输入字段当前显示的文本

	1.3 window对象(open和close)
	语法:window.open(pageURL,name,parameters)
	功能:打开一个新的浏览器窗口或查找一个已命名的窗口
	参数说明: 
	pageURL:子窗口的路径
	name:子窗口句柄(name声明了新窗口的名称,方便后期通过name对子窗口进行引用)
	parameters:窗口参数(各参数用逗号分隔)

	语法:window.close()
	功能:关闭浏览器窗口

	1.4 window对象方法--定时器 setTimeout
	JavaScript是单线程语言,单线程就是所执行的代码必须按照顺序

	- 超时调用
	语法:setTimeout(code,millsec)
	功能:在指定的毫秒数后调用函数或计算表达式
	参数说明:1.code:要调用的函数或执行的JavaScript代码串
		2.millsec:在执行代码前需等待的毫秒数
	说明:setTimeout()只执行code一次。如果要多次调用,可以让code自身再次调用setTimeout()

	- 清除超时调用
	语法:clearTimeout(id_of_settimeout)
	功能:取消由setTimeout()方法设置的timeout
	参数说明:1.id_of_settimeout:由setTimeout()返回的ID的值,该值标识要取消的延迟执行代码块

	1.5 window对象方法--定时器setInterval
	- 间歇调用
	语法:setInterval(code,millisec)
	功能:每隔指定的时间执行一次代码
	参数说明:1.code:要调用的函数或者要执行的代码串
		2.millisec:周期性执行或调用code之间的时间间隔,以毫秒计
	
	- 清除间歇调用
	语法:clearInterval(id_of_setinterval)
	功能:取消setInterval()方法设置的interval
	参数:1.id_of_setinterval:由setInterval()返回的ID值

2、location对象
	location对象提供了与当前窗口中加载的文档有关的信息,还提供了一些导航的功能
	它既是window对象的属性,也是document对象的属性。

	2.1 location对象的常用属性
	语法:location.href
	功能:返回当前加载页面的完整URL
	说明:location.href与window.location.href等价

	语法:location.hash
	功能:返回URL中的hash(#号后跟零或多个字符),如果不包含则返回空字符串
	

	语法:location.host
	功能:返回服务器名称和端口号(如果有)
	
	语法:location.hostname
	功能:返回不带端口号的服务器名称

	语法:location.pathname
	功能:返回URL中的目录和(或)文件名

	语法:location.port 
	功能:返回URL中指定的端口,如果没有,返回空字符串
	说明:假设网址为:locallhost:8080/hotel  那location.port值为8080

	语法:location.protocol
	功能:返回页面使用的协议

	语法:location.search 
	功能:返回URL的查询字符串。这个字符串以问号开头

	2.2 location对象
		2.2.1 改变浏览器位置的方法
		location.href属性

		location对象其他属性也可改变URL:
		location.hash
		location.search 

		2.2.2 location.replace()
		语法:location.replace(url)
		功能:重新定向URL
		说明:使用location.replace不会在历史记录中生成新记录

		2.2.3 location.reload()
		语法:location.reload()
		功能:重新加载当前显示的页面
		说明:location.reload()有可能从缓存中加载
			location.reload(true)从服务器重新加载

3、history对象
	history对象保存了用户在浏览器中访问页面的历史记录
	3.1 history对象方法(back)
	语法:history.back()
	功能:回到历史记录的上一步
	说明:相当于使用了history.go(-1)
	3.2 history对象方法(forward)
	语法:location.forward()
	功能:回到历史记录的下一步
	说明:相当于使用了history.go(1)

4、screen对象及属性
	screen对象包含有关客户端显示屏幕的信息
	语法:screen.availWidth
	功能:返回可用的屏幕宽度
	语法:screen.availHeight
	功能:返回可用的屏幕高度

5、Navigator对象
	UserAgent:用来识别浏览器名称、版本、引擎以及操作系统等信息的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦客子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值