`
zhangyaochun
  • 浏览: 2596967 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

老书新看之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的区别??这个我在这边就不细说可以看看我贴出的链接


  • 大小: 46.5 KB
1
2
分享到:
评论
5 楼 jyjava 2012-05-03  
lz给的那个连接关于location.reload和location.replace是不是有问题呢,relaod为true是从从服务端获取新的,那么它的session是不是就不会过期呢?
4 楼 小丑鱼0703 2012-02-13  
location.href引导当前页面的跳转,不是打开新窗口。so 是不是默认为当前window对象,而不用嵌套表明是window对象的属性了呢?
3 楼 yizhl 2011-10-16  
我建议你写location.href 而不是window.location.href,对象成员嵌套不要很深,访问速度会慢

不知道根据什么的初次结论 location本来就是window的对象。。。 感觉有点荒谬
2 楼 zhangyaochun 2011-10-16  
walldr2161 写道
  话说俺这个编程处于HELLOWORD级别的人一直是window.location.herf

呵呵 说的多是个人意见 仅供参考 谢谢
1 楼 walldr2161 2011-10-16  
  话说俺这个编程处于HELLOWORD级别的人一直是window.location.herf

相关推荐

    面向对象程序设计(C++)实验指导书

    面向对象程序设计(C++)实验指导书 本实验指导书涵盖了面向对象程序设计的基本概念和技术,旨在帮助广大的 C++ 学习者掌握类和对象的概念、构造函数和析构函数的实现方法、对象数组、对象指针和 string 类的使用...

    j2ee06js04.Bom浏览器对象(包含document、location、history)

    - Location对象包含了当前页面的URL信息,可以用来改变或获取页面的URL。 - `href`属性获取或设置完整的URL。 - `protocol`返回URL的协议部分,如"http:"或"https:"。 - `hostname`返回服务器的主机名,如...

    面向对象程序设计(C ) 实验指导书.pdf

    本实验指导书主要关注C++中的类和对象的使用,这是理解面向对象编程的基础。 首先,类是C++中定义数据结构和行为的基本单元,它封装了数据和操作这些数据的方法。在实验1中,`Coordinate`类被定义,包含了私有数据...

    面向对象程序设计(C ) 实验指导书.docx

    2. **构造函数和析构函数**:构造函数是类的一个特殊成员函数,用于初始化新创建的对象。默认构造函数无需参数,而带参数的构造函数允许对象在创建时即被初始化。析构函数则在对象生命周期结束时自动调用,用于清理...

    JavaScript窗口对象概述.pdf

    Window对象不仅提供了访问和操作浏览器窗口的各种功能,还是其他许多JavaScript对象的父对象,比如Document对象和Location对象。在JavaScript编程中,理解和掌握Window对象的属性和方法是至关重要的。 1. **Window...

    ZigBee2006-stack-location

    ZigBee 2006 堆栈是基于IEEE 802.15.4标准的,它提供了完整的网络层、应用支持子层(APS)以及设备对象层(ZDO),以实现节点间的可靠通信和数据交换。 在无线传感器网络中,定位应用是非常重要的一环。它允许网络...

    Web脚本语言基础实验指导书2015-2016.docx

    实验内容中要求编写特定功能的函数,例如限制文本框字符数、生成随机数排序、电话号码验证等,同时需熟悉浏览器对象体系,如使用Location对象获取URL信息,History对象管理浏览历史,Window对象中的alert()和prompt...

    JavaScript_高级编程(带书签版本)

    这部分深入探讨了浏览器对象模型(BOM)中的核心对象,包括Window、Document、Text、Button、Select、Location和History对象。每个对象都有自己的属性和方法,通过这些对象的操作,可以实现与浏览器交互的各种功能,...

    网上书店模版JAVA源码

    2. **超链接处理**:网页上的超链接是通过HTML `<a>` 标签来实现的,而在Java中,特别是在Servlet或JSP中,可以通过HTTP响应对象来设置响应头,包含`Location`字段,实现页面跳转。此外,URL编码和解码也是处理链接...

    java程序设计试验参考指导书.doc

    本指导书主要围绕Java编程环境的建立、Java语言的基本程序设计以及面向对象程序设计展开,旨在帮助学习者掌握Java编程的基础知识和实践技巧。 ### 试验一:Java环境搭建与基础应用 #### 1. Java编程环境搭建 - **...

    Morgan Kaufmann.Moving.Objects.Databases.Aug.2005

    多维和度量数据结构是移动对象数据库的基础之一,它们能够有效地存储和检索多维数据。例如,可以利用R树或kd树等数据结构来构建高效的索引机制,从而加快对移动对象位置的查询速度。 #### 2. 数据挖掘与知识发现...

    PHP Cookbook读书笔记 – 第15章创建Web服务.docx

    为了向响应中添加SOAP头,我们可以使用`SoapHeader`类创建一个新的头对象,然后通过`addSoapHeader`方法将其添加到全局的`$server`对象中。需要注意的是,由于在方法作用域内无法直接访问`$server`对象,所以我们...

    JavaScript权威指南(第6版)(中文版)

    BOM(Browser Object Model)部分则涵盖了浏览器提供的API,如window对象、location对象、history对象等,以及如何进行窗口控制、导航和弹框操作。 AJAX(Asynchronous JavaScript and XML)是现代Web开发中的重要...

    JavaScript权威指南第六版电子书和源代码

    同时,也会介绍BOM(浏览器对象模型),如window对象和location对象,它们提供了与浏览器环境交互的能力。 源代码的提供使得读者可以对照书中内容实践,加深理解。这包括示例脚本和可能的练习解决方案,有助于提升...

    《java程序的设计》实验指导书(09高职).doc

    《Java程序设计》实验指导书主要涵盖了Java编程环境的搭建、基本程序设计训练以及面向对象的程序设计。以下是这些实验中涉及的关键知识点的详细说明: **实验一:Java实验环境的建立** 1. **JDK的下载与安装**:...

    价值50美金的最新iOS5超酷教程iOS.5.Programming.Cookbook

    书中会详细介绍面向对象编程的概念,如类、对象、继承、多态以及消息传递机制。 2. **Xcode工具链**:iOS开发离不开Xcode集成开发环境,书中会讲解如何使用Xcode进行项目管理、代码编写、调试和构建应用。 3. **...

Global site tag (gtag.js) - Google Analytics