浏览器对象
window
window.location.href 表示重新定向到新页面,同时刷新打开的这个页面
WINDOW.OPEN 在新的页面打开这个网址
document.write(location.href); 输出当前网页的网址
var url = document.location.toString(); 得到当前网址的字符串
navigator
screen
location
document
document对象表示当前页面。由于HTML在浏览器中以DOM形式表示为树形结构,document对象就是整个DOM树的根节点
用document对象提供的getElementById()和getElementsByTagName()可以按ID获得一个DOM节点和按Tag名称获得一组DOM节点
Cookie是由服务器发送的key-value标示符。因为HTTP协议是无状态的,但是服务器要区分到底是哪个用户发过来的请求,就可以用Cookie来区分。当一个用户成功登录后,服务器发送一个Cookie给浏览器,例如user=ABC123XYZ(加密的字符串)…,此后,浏览器访问该网站时,会在请求头附上这个Cookie,服务器根据Cookie即可区分出用户。
Cookie还可以存储网站的一些设置,例如,页面显示的语言等等
JavaScript可以通过document.cookie读取到当前页面的Cookie
为了确保安全,服务器端在设置Cookie时,应该始终坚持使用httpOnly
history
任何情况,你都不应该使用history这个对象了。
操作DOM
HTML文档被浏览器解析后就是一棵DOM树
操作一个DOM节点实际上就是这么几个操作:
- 更新:更新该DOM节点的内容,相当于更新了该DOM节点表示的HTML的内容;
- 遍历:遍历该DOM节点下的子节点,以便进行进一步操作;
- 添加:在该DOM节点下新增一个子节点,相当于动态增加了一个HTML节点;
- 删除:将该节点从HTML中删除,相当于删掉了该DOM节点的内容以及它包含的所有子节点。
在操作一个DOM节点前,我们需要通过各种方式先拿到这个DOM节点。最常用的方法是document.getElementById()和document.getElementsByTagName(),以及CSS选择器document.getElementsByClassName()。
第二种方法是使用querySelector()和querySelectorAll(),需要了解selector语法,然后使用条件来获取节点,更加方便
ID在HTML文档中是唯一的
更新DOM
第一种是修改innerHTML属性
第二种是修改innerText或textContent属性
插入DOM
有两个办法可以插入新的节点。
一是使用appendChild,把一个子节点添加到父节点的最后一个子节点
二可以使用parentElement.insertBefore(newElement, referenceElement);,子节点会插入到referenceElement之前
删除DOM
删除一个DOM节点就比插入要容易得多。
要删除一个节点,首先要获得该节点本身以及它的父节点,然后,调用父节点的removeChild把自己删掉
操作表单
操作文件
JavaScript的一个重要的特性就是单线程执行模式。在JavaScript中,浏览器的JavaScript执行引擎在执行JavaScript代码时,总是以单线程模式执行,也就是说,任何时候,JavaScript代码都不可能同时有多于1个线程在执行。
在JavaScript中,执行多任务实际上都是异步调用
Ajax