Javascript杂记

Javascript刷新页面的几种方法:

  1. history.go(0)

  2. window.location.reload() //从客户端缓存中取当前页

  3. window.location.reload(true) //以GET 方式,从服务端取最新的页面

  4. location=location

  5. location.assign(location)

  6. document.execCommand(''Refresh'')

  7. window.navigate(location)

  8. location.replace(location):

    该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL 语法:location.replace(URL) 参数: URL

  9. document.URL= location.href

location.href 用法:

  • top.location.href=”url” 在顶层页面打开url(跳出框架)

  • self.location.href=”url” 仅在本页面打开url地址

  • parent.location.href=”url”   在父窗口打开Url地址

  • this.location.href=”url”    用法和self的用法一致

if (top.location == self.location) 判断当前location 是否为顶层来禁止frame引用?如果页面当中有自定义的frame的话,也可以将parent self top换为自定义frame的名称,效果就是在自定义frame窗口打开url地址。

window.location.search; //截取当前url中“?”之后的字符串(包含“?”)

 

xsi全名:xml schema instance

web-app是web.xml的根节点标签名称 version是版本的意思 xmlns是web.xml文件用到的命名空间 xmlns:xsi是指web.xml遵守xml规范 xsi:schemaLocation是指具体用到的schema资源

 

XSD是指XML结构定义 ( XML Schemas Definition ) XML Schema 是DTD的替代品。XML Schema语言也就是XSD。 XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。 一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。 XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间 XSD文件的后缀名为.xsd。 XML Schema的优点: 1) XML Schema基于XML,没有专门的语法 2) XML可以象其他XML文件一样解析和处理 3) XML Schema支持一系列的数据类型(int、float、Boolean、date等) 4) XML Schema提供可扩充的数据模型。 5) XML Schema支持综合命名空间 6) XML Schema支持属性组。

 

由于一个重大的局限,使得CommonJS规范不适用于浏览器环境。还是上一节的代码,如果在浏览器中运行,会有一个很大的问题,你能看出来吗?

帮助

Var math = require('math'); 
math.add(2, 3);

 

  第二行math.add(2, 3),在第一行require(‘math’)之后运行,因此必须等math.js加载完成。也就是说,如果加载时间很长,整个应用就会停在那里等。

  这对服务器端不是一个问题,因为所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间。但是,对于浏览器,这却是一个大问题,因为模块都放在服务器端,等待时间取决于网速的快慢,可能要等很长时间,浏览器处于"假死"状态。

  因此,浏览器端的模块,不能采用"同步加载"(synchronous),只能采用"异步加载"(asynchronous)。这就是AMD规范诞生的背景。

  AMD

AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。

  AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数:

require([module], callback);

  第一个参数[module],是一个数组,里面的成员就是要加载的模块;第二个参数callback,则是加载成功之后的回调函数。如果将前面的代码改写成AMD形式,就是下面这样:

require(['math'],function(math) {   math.add(2, 3); });

 

math.add()与math模块加载不是同步的,浏览器不会发生假死。所以很显然,AMD比较适合浏览器环境。

目前,主要有两个Javascript库实现了AMD规范:require.jscurl.js

posted @ 2021-05-21 13:05  木木彡坚持  阅读(50)  评论(0)    收藏  举报