首页 > 其他分享 >js操作BOM

js操作BOM

时间:2022-09-04 12:26:19浏览次数:73  
标签:返回 url js 对象 let location 操作 BOM

js操作BOM

什么是Bom?

  • BOM即浏览器对象模型。
  • BOM提供了独立于内容 而与浏览器窗口进行交互的对象;
  • 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window;
  • BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性;
  • BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分。

有哪些常用的Bom属性

1.navigator(浏览器对象)

1.如何检测浏览器的类型(ua问题)?


//如何检测是否为Chrome浏览器
var ua = navigator.userAgent;
console.log(ua);
var isChrome = ua.indexOf('Chrome');
console.log(isChrome)    //true为是,false为不是

2.screen(屏幕对象)


screen.width;     //屏幕宽度
screen.height;     //屏幕高度

3.location(地址对象)

location的相关操作

location.href     				//返回或设置当前文档的url
location.search               //返回URL中的查询字符串部分,可用于解析url
location.hash                 //返回url#后面的内容,如果没有#,返回为空
location.host                 //返回url中域名部分,例如:www.baidu.com
location.hostname             //返回url中的域名后的部分
location.pathname             //返回url的域名后的部分
location.port                 //返回url中的端口部分。
location.protocol             //返回url中的协议部分
location.assign               //设置当前文档的URL
location.replace()            //设置当前文档的url,并且在history对象地址列表中移除这个URL  location.replace(url);
location.reload()             //重载当前页面

4.history(历史对象)

history.go()        //前进或后退指定的页面数history.go(num)
history.back()      //后退一页
history.forward()   //前进一页

前端js获取URL参数的几种方法

1.字符串split方法(因为一个url地址是字符串形式的,所以利用split方法将参数提取出来)

let url = "http://www.baidu.com?name=李四&age=22&sex=男&wife=王五"
function getUrlParams(url){
	//通过?分割后面的字字符串
	let urlStr = url.split('?')[1]
	//创建空对象存储参数
	let obj = {};
	//再通过&将每一个参数单独分割出来
	let paramsArr = urlStr.split('&')
	for(let i = 0,len = paramsArr.length;i < len;i++){
		//再通过 = 将每一个参数分别切割为key:value的形式
		let arr = paramsArr[i].split('=')
		obj[arr[0]] = arr[1];
	}
	return obj
}
console.log(getUrlParams(url))

2.利用URLSearchParams方法

在MDN中结合两种方法实现参数的获取:1.使用new URLSearchParams(url)方法,返回一个URLSearchParams对象,再调用entries方法返回一个可迭代对象(Iterator);2.使用Object.fromEntries(iterable)方法转化为普通对象

let url = "http://www.baidu.com?name=李四&age=22&sex=男&wife=王五"

function getUrlParams(url){
	let urlStr = url.split('?')[1]
	const urlSearchParams = new URLSearchParams(urlStr)
	const result = Object.fromEntries(urlSearchParams.entries())
	return result
}
console.log(getUrlParams(url))

标签:返回,url,js,对象,let,location,操作,BOM
From: https://www.cnblogs.com/HuangJiaZ/p/16654529.html

相关文章

  • 9.7 字符串的常用操作_替换与合并
     s='hello,Python,Python,Python'print('用字符串替换其中字符串,替换2次',s.replace('Python','java',2))lst=['hello','java','Python']#可以是列表或者元组pri......
  • React.js VS Solid.js,作为初学者,你应该学习哪个?
    React.jsVSSolid.js,作为初学者,你应该学习哪个?作为初学者,哪个框架对您的开发之旅最有帮助?作为第一次接触javascript前端框架的初学者,您可能想知道一些事情,例如,哪个最......
  • ReactJS 与 NextJS:下一个项目应该使用哪一个?
    ReactJS与NextJS:下一个项目应该使用哪一个?当我们考虑下一个项目时,我们必须决定我们将使用什么技术堆栈.使用越来越普遍JavaScript在你的项目中。但不仅是普通的Ja......
  • js函数( 普通函数、箭头函数 ) 内部this的指向
    -普通函数 |具名普通函数、匿名普通函数,在不作为对象的属性值的情况下,其内部的this总是指向代码运行环境下的全局对象(例如,浏览器中的window)。  示例:......
  • 为什么要在学习花哨的 JS 框架之前学习 Vanilla JavaScript?
    为什么要在学习花哨的JS框架之前学习VanillaJavaScript?这是DavidKopal的博客。在此博客中,您可以了解VanillaJS在您的职业生涯中的好处。他在博客中分享的文字......
  • 9.6 字符串的常用操作_字符串判断的相关方法
     '''字符串的判断,注意:中文属于字母numeric:数(字,值)alpha:阿尔法;希腊字母表的第1个字母;decimal:十进制的;小数的;十进位的;......
  • Linux 下安装 node.js
     这里介绍两种安装方式:编译安装和使用编译后的安装包安装。安装目录:/usr/local 一、使用编译安装包安装1、进入安装目录:cd/usr/local2、下载安装包:wgethttp......
  • 9.5 字符串的常用操作_字符串的劈分
     s='helloworldpython's1='hello|world|python''''字符串的劈分,输出结果都为为列表'''lst=s.split()#split中文翻译为分开print('字符串的劈分,默认分开符号为......
  • 9.4 字符串的常用操作_字符串内容对齐操作的方法
     s='hello,python''''居中对齐'''print('居中对齐,空间长度为20,空部分用*填充',s.center(20,'*'))#center翻译为居中print('左对齐,空间长度为20,空部分用*填充',s......
  • 前端JS-Day19
    动态创建元素:document.write:直接写入页面流,会导致页面重绘。innerHTML和createElement相似,但执行效率不同。创建内容时若采取数组形式,innerHTML耗时优于createElement。......