老书新看之location对象

最近一直研究学习和编写自己脚本库的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?
  1.     Location对象包含了当前URL的所有信息
  2.     它是Window对象的一个属性
  3.     通过window.location属性可以访问该对象,但不能使用new 关键字去创建

 

  •  Location对象的属性
  1. hash--------------返回从(#)开始的URL
  2. host --------------返回主机和当前URL的端口
  3. hostname---------返回当前URL的主机名
  4. href---------------返回完整的URL
  5. pathname-------- 返回当前URL的路径部分
  6. port---------------返回当前URL的端口号
  7. protocol----------返回当前URL的协议
  8. search------------返回从(?)开始的URL查询部分
  • Location对象的方法
  1. assign()----------加载新的文档
  2. reload()----------重新加载当前的文档
  3. replace()---------用新的文档替换当前的文档
上图说明例子我在http://www.baidu.com输入 窝窝团然后调整到



 

总结一下吧:

  1. 我建议你写location.href 而不是window.location.href,对象成员嵌套不要很深,访问速度会慢
  2. 应该没有人会用window.location.href.toString()吧??有的属性不是对象的实例属性,解析的时候需要搜索原型链,这样的时间效率比较低
  3. 关于location.reload于location.replace的区别??这个我在这边就不细说可以看看我贴出的链接


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值