一、返回上一页(history)

发觉有两种用法:
1、javascript:history.back(-1);
2、javascript:history.go(-1);
它们俩的区别是:
history.back(-1):直接返回当前页的上一页,数据全部消息,返回新页面
history.go(-1):也是返回当前页的上一页,表单里的数据依然还在
其语法为:
history.go(num);
history. back(num); ( num -- 负数为后退指定的页数,正数为前进指定的页数)
示例:<a href="javascript:history.go(-1);">返回上一页</a>

<input type="button" value="Back" onclick="javascript:history.back()" />

二、confirm 确认/取消

     var flag=confirm("确定删除?");//弹出 确认、取消对话框 点击确认返回true 取消 返回false
if(flag){
alert("确定");
}else{
alert("取消");
}

三、prompt 提示输入框

var num=prompt("请输入一个数字",0);//提示输入框 点击确定获得输入的值 取消返回null
alert(num);

四、open 打开新窗口

window.open("https://www.baidu.com/");//新建页面打开百度
window.open("https://www.baidu.com/","baidu");//新建页面并命名窗口 打开百度
window.open("https://www.baidu.com/","_parent");//在本页面打开百度
window.open("https://www.baidu.com/","_blank");//新建页面打开百度
window.open("https://www.baidu.com/","baidu","width=500,height=600,top=100,left=200,toolbar=yes");

五、定时任务/间歇任务

//================定时调用===================
//直接使用函数传入的方法,扩展性好,性能更佳。
window.setTimeout(box,5000);
function box(){
console.info("定时调用====》普通函数");
}
//匿名函数法 ECMA推荐使用
window.setTimeout(function(){
console.info("定时调用======》匿名函数");
},2000);
/*取消定时器
setTimeout 返回一个数值ID,这个ID就是当前这个定时方法的唯一标识符,
通过它可以取消这个定时调用计划
*/
var timeId=setTimeout(function(){
alert("取消定时器");
},3000);
clearTimeout(timeId);
//================间歇调用=================
var intId=setInterval(function(){
console.info("间歇调用");
},3000);
clearInterval(intId);//取消间歇任务
/*
一般在开发环境中很少使用间歇任务,因为需要根据情况来取消ID(间歇任务),
并可能造成同步的一些问题,建议使用定时任务赖替代间歇任务。
*/
//使用定时任务模拟间歇任务
(function(){
var num=0;
var max=5;
function box(){
num++;
if(num===max){
alert("5秒后结束");
}else{
setTimeout(box,1000);
}
}
setTimeout(box,1000);
})();

六、location 对象

    //http://localhost:8080/html/bom.html?a=123#hash
var port=location.port;//获取端口号 8080
var hash=location.hash;//获取#和号后面的字符串 #hash
var hostName=location.hostname;//获取主机名 localhost
var pathname=location.pathname;//获取当前路径 /html/bom.html
var protocol=location.protocol;//获取当前协议 http:
var search=location.search;//获取请求参数 ?a=123
var href=location.href;//获取当前URL(完整)路径
// location.assign("http://www.baidu.com");//跳转到指定的URL
// location.replace("http://www.baidu.com");//跳转到指定的URL 清除之前的历史记录
location.reload();//重新加载 可能从缓存中加载
location.reload(true);//重新加载 从服务器加载
}
//获取请求参数
function getArgs(keyStr){
var map=new Object();
//获取请求参数
var searchs=location.search.length>0?location.search.substring(1):"";
var items=searchs.split("&");
if(searchs!=""){
for(var i=0;i<items.length;i++){
var items_t=items[i].split("=");
map[items_t[0]]=items_t[1];
}
console.info(map);
return map[keyStr];
}

JS util的更多相关文章

  1. 折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下+spm一点意外收获

    很长时间没有更新博客了,实在是太忙啦...0.0 ,以下的东西纯粹是记录,不是我原创,放到收藏夹还担心不够,这个以后常用,想来想去,还是放到这里吧,,丢不了..最后一句废话,网上搜集也好原创也罢,能解 ...

  2. 一句命令快速合并 JS、CSS

    在项目开发环境下,我们会把 JS 代码尽可能模块化,方便管理和修改,这就避免不了会出现一个项目自身 JS 文件数量达到 10 个或者更多. 而项目上线后,会要求将所有 JS 文件合并为 1 个或者几个 ...

  3. requirejs实验002. r.js合并文件. 初体验.

    requirejs的官网上有介绍如何使用r.js合并,压缩文件的.http://requirejs.org/docs/optimization.html https://github.com/jrbu ...

  4. 【前端】一句命令快速合并压缩 JS、CSS

    引用自:一句命令快速合并 JS.CSS 在项目开发环境下,我们会把 JS 代码尽可能模块化,方便管理和修改,这就避免不了会出现一个项目自身 JS 文件数量达到10个或者更多. 而项目上线后,会要求将所 ...

  5. js和循环依赖

    kmdjs和循环依赖 循环依赖是非常必要的,有的程序写着写着就循环依赖了,可以提取出一个对象来共同依赖解决循环依赖,但是有时会破坏程序的逻辑自封闭和高内聚.所以没解决好循环依赖的模块化库.框架.编译器 ...

  6. js模块化开发——require.js的用法详细介绍(含jsonp)

    RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签脚本加载步骤.可以用它回事.优化代码,但其主要的目的还是为了代码的模块化.它鼓励在使用脚本以moudle ...

  7. vue.js移动端app实战2:首页

    貌似有部分人要求写的更详细,这里多写一点vuel-cli基础的配置 什么是vue-cli? 官方的解释是:A simple CLI for scaffolding Vue.js projects, 简 ...

  8. Vue.js如何在一个页面调用另一个同级页面的方法

    使用场景: 页面分为header.home.footer三部分,需要在home中调用header中的方法,这两个没有相互引入 官方给出方法: 需要在展示页里调用顶部导航栏页里的方法,两者之间没有引用关 ...

  9. vue 中如何对公共css、 js 方法进行单文件统一管理,全局调用

    1.前言 最近,为公司开发交付的一个后台管理系统项目,我使用了 Vue 框架进行开发实践. 模块化.组件化.工程化的开发体验非常好.良好的 api,优雅的设计,对于工程师非常友好. 但是由于模块比较多 ...

随机推荐

  1. vs2010的“应用程序向导”新建MFC程序报错“当前页面的脚本发送错误”

    原创文章,欢迎阅读,禁止转载. 问题现象不知道从什么时候开始,我的vs2010不能新建MFC程序了,报错如图:... 解决方法根据提示排查,发现是应用程序向导的相关html被损坏了.从同事电脑上把   ...

  2. 使用DataOutputStream写入int类型数字不能显示

    前段时间做Android系统项目需要使用DataOutputStream数据流向文件里写入数据,写入的有String类型和int类型.写入之后在代码中使用DataInputStream读出是没有问题的 ...

  3. H 1022 Train Problem Ⅰ

    题意:给我们两个序列,看能否通过压栈,出栈将第一个序列转换成第二个. 思路:将序列 1 依次压栈,同时看是否和序列 2 当前元素相同 代码如下: #include<iostream> #i ...

  4. shell学习

    set -x 进入调试模式,会把每一个命令实际执行的命令打印出来,也就是会把一些参数扩展后的样子打印出来. set +x 退出调试模式自定义变量:x=7,y=8echo `expr $x + $y` ...

  5. c++使用stdint.h和inttypes.h

    我们有时候需要使用int有关的宏,比如PRId64,int64_t等,就需要包含那两个头文件. 由于那两个头文件是为c99默认使用的,c++要使用它可能要定义__STDC_FORMAT_MACROS, ...

  6. (转)JQuery上传插件Uploadify使用详解

    原文地址:http://www.cnblogs.com/oec2003/archive/2010/01/06/1640027.html Uploadify是JQuery的一个上传插件,实现的效果非常不 ...

  7. java - Stack栈和Heap堆的区别

    首先分清楚Stack,Heap的中文翻译:Stack—栈,Heap—堆.         在中文里,Stack可以翻译为“堆栈”,所以我直接查找了计算机术语里面堆和栈开头的词语:        堆存储 ...

  8. HK一行所见闻

    香港一行 20多年来,未未去过HK,前段时间由于工作关系去了趟HK.感触良多. 一清早,福田过关,做火车,做地铁,一通到了目的地. 总结对那边的印象: 1,所有人都是粤语,包括工作交流.而且他们不怎么 ...

  9. WCF Failed to invoke the service. Possible causes: The service is offline or inaccessible

    今天写WCf 时遇到如下报错: 调试过程发现,各个过程都无异常,但是返回给调用端数据时出现如下错误. Failed to invoke the service. Possible causes: Th ...

  10. 【Win10 UWP】URI Scheme(一):Windows Store协议的解析和使用

    协议是Windows Phone和Windows Store应用的一个重要特点,可以做到在不同应用之间进行互相呼起调用.小小协议,学问大着呢.我打算写几篇关于协议在UWP中使用的文章. 这一讲的主要对 ...