《JavaScript权威指南》学习笔记 第五天 window对象的方法。
前天和昨天大致浏览了犀牛书的函数、类与模块、正则表达式、JavaScript扩展、以及服务端的js。这些方面对于我目前的水平来说比较难,一些最基本的概念都不能领会。不过最复杂的知识占用平时使用的20%,而最简单的知识却占平时使用的80%。本着先学会使用,后继续研究的学习道路,这些内容就暂且搁置,等js主干知识都学习完了,再来看这部分内容。
正文
一、系统、浏览器、网页、Javascript之间的关系。
有必要在学习jsDOM之前先来了解一下这四者之间的关系。
系统为浏览器提供基本的运行环境。一个系统里面可以安装很多的浏览器,firefox,chrome 、IE等等,操作系统为浏览器提供调用计算机硬件的API;
浏览器为网页提供基本的运行环境,一个浏览器里可以跑很多的网页。
一个网页里面可以镶嵌多个其他的网页(通过iframe)。
浏览器提供了javascript的解析引擎,js是一中面向对象的编程语言,因此我们可以操作不同的对象(API)来操作数据或者是页面中的元素(DOM结构)。
二、了解DOM对象。
前几天我的笔记上已经说了,第二天笔记http://www.cnblogs.com/roverliang/p/4979538.html。
引用如下:
js的对象是一个大对象,当create一个页面的时候,就会被js构造器(construct)创造出来 数组对象(Array)、函数对象(function)、日期对象(date)、正则对象(RegExp)以及错误对象(Error).
上面的对象是js的对象,当渲染一个页面的时候,js也会为当前的一个页面生成一个叫window的全局对象。
window对象又有很多属性:
- location对象。
- document对象,一般称为DOM。
- hsitory
- navigator
windows对象的方法:
- alert() 方法。 //这里的方法我们可以理解为函数。
- setTimeout 方法。
- setInterval 方法。
- prompt
- confirm
- showModalDialog
三、了解window对象的属性以及方法
window对象指的就是当前我们的这个窗口,也就是当前打开的这个网页。
window对象的一些方法:
setTimeout 与 setInterval
//2秒之后弹个2
setTimeout(function(){
alert(2);
},2000);
//每隔两秒弹个3
setInterval(function(){
alert(3);
},2000);
window 对象的一些属性:
location对象
document.location = window.location; //返回truea;
location对象下面也有很多属性与方法:
location.toString() 方法返回当前的url。
var urlpath = location.toString();protocol 网络服务的协议名,如https: 或者http: 返回时带:的。
host 返回域名
hostname 同host。
port 返回“”
pathname 返回路径
search 返回路径?参数。
assign 方法。
replace 方法
reload() 方法
在书上看到一个关于拼接解析url的原生js代码非常好,抄下来。
<script>
function urlArgs(){
var args = {};
var query = location.search.substring(1);
var pairs = query.split('&');
for(var i=0;i<pairs.length;i++){
var pos = pairs[i].indexOf('=');
if(pos == -1) continue;
var name = pairs[i].substring(0,pos);
var value = pairs[i].substring(pos+1);
value = decodeURIComponent(value);
args[name] = value;
}
return args;
}
</script>
history对象
- back方法 后退
- forward 方法 前进
- go 可以前进也可以后退。
navigator 对象
- userAgent属性,发送user-Agent http 头部发送的字符串。包含很多的信息。可以判断浏览器以及内核。
- platform 属性,返回当前的操作系统,测试了下,并不是十分准。
- geolaction 属性 返回当前用户的地理位置。
- cookieEnable 属性,检测当前的cookie是否可用。返回true或者false。
screen对象
这个对象第一次用,返回用户的电脑屏幕宽度高度,夜色的位深等等。
open对象
close对象
《JavaScript权威指南》学习笔记 第五天 window对象的方法。的更多相关文章
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...
- JavaScript权威指南学习笔记6
这两天主要翻看了书中的第18-22章,重点看了第17章:事件化处理,其它几章节主要是翻了下书知道有相关的概念,没有真正理解其中的内容,或者没有考虑究竟如何能把里面的内容应用到实际的项目中.说的讽刺一点 ...
- maven权威指南学习笔记(五)—— POM
1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...
- maven POM —— maven权威指南学习笔记(五)
1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...
- JavaScript权威指南学习笔记5
下午在杭图回去前看了书中第二部分的13-17章,看的很粗,感觉大部分东西自己已经知道或者平时开发中不会用到,很多章节只是简单的翻了一下,没有仔细思考里面说到的道理,下面对各章节简单的记录下. 第13章 ...
- Javascript权威指南学习笔记
第二章:词法结构 ;function a(){alert(2)};//前面的分号保证正确地语句解析 第三章:类型.值和变量 基本概念: 1.数据类型---能够表示并操作的值的类型叫做数据类型. 2.变 ...
- javascript权威指南学习笔记1
打开这本书,进入到javascript的世界.以前都是看各种视频,感觉什么收获也没有,反而弄得脑袋混乱,希望能够按照这本书的节奏掌握javascript这门语言,为我的前端学习打下基础. 学习前准备: ...
- JavaScript权威指南学习笔记4
今天看了第9.10.11章,感觉收获最大还是正则表达式那章节,不过这些不用太多脑子思考,问题用到了直接查书就可以了,下面分别总结一下: 第9章类和模块:分9节,前面8节都是在讲类相关的知识,最后一节讲 ...
- javascript权威指南学习笔记3
今天看到第四章,记录一下其中的几个点,俗话说:好记性不如烂笔头嘛. 4.9 in运算符和instanceof运算符 in运算符希望它的左操作数是一个字符串或可以转化为字符串,希望它的右操作数是一个 ...
随机推荐
- 从.NET的宠物商店到Android MVC MVP
1 一些闲话 记得刚进公司的时候,我们除了做常规的Training Project外,每天还要上课,接受各种技术培训和公司业务介绍.当时第一次知道QA和SQA的区别.Training Project时 ...
- WCF x509证书安装问题汇总
1.win7及以后系统可以使用certlm.msc打开localmachine的证书管理界面.win7前的版本需要使用mmc打开控制台,然后选择文件->添加删除管理单元->选择证书.2.部 ...
- NHibernate无法将类型“System.Collections.Generic.IList<T>”隐式转换为“System.Collections.Generic.IList<IT>
API有一个需要实现的抽象方法: public IList<IPermission> GetPermissions(); 需要注意的是IList<IPermission>这个泛 ...
- XML的解析和保存
1.XML(extensible markup language;XML ) 定义:,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. XML语法规范: 标 ...
- 东大OJ-1040-Count-快速幂方法求解斐波那契-
Many ACM team name may be very funny,such as "Complier_Error","VVVVV".Oh,wait fo ...
- android 使用多个接口
今天,好久没有这么用过都忘记可以这样用了.来记录下: 一个类想要使用多个接口可以implements 接口1 , 接口2,...
- Alpha版本冲刺现场演示和阶段验收的总结
一共15个组.有13个组参加了今天的现场演示,分别是YZH.Radio Group.FZU5BOYS.静静看.Clean Code.Mod4.F4.For the Dream.Journey of C ...
- Bete冲刺第五阶段
Bete冲刺第五阶段 今日工作: web: 今日做的最大的工作是成功顺利的吧web部署到阿里云服务器上了,代码顺利在公网上跑,解决了与ios的网络连接问题.同时优化了几个接口的查询逻辑,减少了对数据库 ...
- JNI系列——简便开发流程
1.编写Java代码 2.选中工程目录--右键单击Android Tools--Add Native Support 3.输入要生成的库名 4.到工程目录中jni目录下对自动生成文件和.mk文件进行相 ...
- python 2.7 和3.0input区别
name = raw_input('请输入用户名:')#python2.7的用法 name = input('请输入用户名:')#python3.0的用法 print(name)