最近一直研究学习和编写自己脚本库的url的相关的api,今天又兴致地有翻看期一本老书-----javascript语法和对象速查手册。其实自己一路走来,我喜欢看前端的书,看了很多这样的书,有的书很基础有的书有点深度有的书得看好几遍才明白。。。。有的人说慢慢地随着时间的流逝,你看的书就"高深"了,其实,作为我来讲,我只能支持一半的说法,是慢慢地随着你的积累和自己的研习,水平和理解力是涨了,但是时常地去翻看一下这些底层api的语法和常用对象等,加深理论还是很有必要的。(温故而知新!!)
?
不相信,考考你,
?
?
var str ="abcdef"; console.log(str.length); //看看长度,顺从大脑步骤,呵呵 console.log(str.slice(-2,3)); //是什么? console.log(str.slice(-2,4)); //又是什么? console.log(str.slice(-2,5)); //又又是什么? /* 后话,或许你知道string的slice 或许你知道参数为负的反向查找 但是你看看上面的你会再次发现 反向查找后的如果start>=end返回是空的 */
?
给出答案:
?
?
var str = "abcdef"; console.log(str.length); //6 //对string.slice不熟悉的可以看看我的其他文章有介绍说明。 console.log(str.slice(-2,3)); //是不是等于 str.slice(6-2,3);--------str.slice(4,3); //返回空 console.log(str.slice(-2,4)); //是不是等于str.slice(6-2,4); ----------str.slice(4,4); //返回空 console.log(str.slice(-2,5)); //是不是等于str.slice(6-2,5); ---------str.slice(4,5); //返回"e"
?
拉回来,继续写我的要点。今天其实想仔细地给大家说说这个location对象。它到底有什么属性和方法,或者说我们能不能从它生成去吸收一些东西。
?
?
?
?
- what is location?
- ?? ?Location对象包含了当前URL的所有信息
- ?? ?它是Window对象的一个属性
- ?? ?通过window.location属性可以访问该对象,但不能使用new 关键字去创建
?
- ?Location对象的属性
- hash--------------返回从(#)开始的URL
- host --------------返回主机和当前URL的端口
- hostname---------返回当前URL的主机名
- href---------------返回完整的URL
- pathname-------- 返回当前URL的路径部分
- port---------------返回当前URL的端口号
- protocol----------返回当前URL的协议
- search------------返回从(?)开始的URL查询部分
- Location对象的方法
- assign()----------加载新的文档
- reload()----------重新加载当前的文档
- replace()---------用新的文档替换当前的文档
上图说明例子我在http://www.baidu.com输入窝窝团然后调整到
http://www.baidu.com/s?wd=%CE%D1%CE%D1%CD%C5&rsv_bp=0&rsv_spt=3&oq=%CE%D1%CE%D1&rsp=0&f=3&inputT=4282
?
总结一下吧:
- 我建议你写location.href 而不是window.location.href,对象成员嵌套不要很深,访问速度会慢
- 应该没有人会用window.location.href.toString()吧??有的属性不是对象的实例属性,解析的时候需要搜索原型链,这样的时间效率比较低
- 关于location.reload于location.replace的区别??这个我在这边就不细说可以看看我贴出的链接
http://blog.csdn.net/fangxinggood/article/details/604916
http://www.jb51.net/article/21573.htm
1 楼
walldr2161
2011-10-16
话说俺这个编程处于HELLOWORD级别的人一直是window.location.herf
2 楼
zhangyaochun
2011-10-16
walldr2161 写道
话说俺这个编程处于HELLOWORD级别的人一直是window.location.herf
呵呵 说的多是个人意见 仅供参考 谢谢
3 楼
yizhl
2011-10-16
我建议你写location.href 而不是window.location.href,对象成员嵌套不要很深,访问速度会慢
不知道根据什么的初次结论 location本来就是window的对象。。。 感觉有点荒谬
不知道根据什么的初次结论 location本来就是window的对象。。。 感觉有点荒谬
4 楼
小丑鱼0703
2012-02-13
location.href引导当前页面的跳转,不是打开新窗口。so 是不是默认为当前window对象,而不用嵌套表明是window对象的属性了呢?
5 楼
jyjava
2012-05-03
lz给的那个连接关于location.reload和location.replace是不是有问题呢,relaod为true是从从服务端获取新的,那么它的session是不是就不会过期呢?