一、返回上一页(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. Github 新的项目管理模式——Projects

    Github 新的项目管理模式--Projects Issues Github 中传统的项目管理是使用 issue 和 pull request 进行的,这部分内容不是本文重点,不再赘述. 但有一些功 ...

  2. jsp入门笔记

    jsp语法 1. declaration 由于访问serlvet只有一个,<%! int i = 0; %>   是servlet的变量,刷新时会不断增加 <% int i = 0; ...

  3. Linux下VirtualBox启动物理硬盘上已安装的Window 8系统

    创建虚拟机 1.创建一个没有硬盘的windows虚拟机,与已安装在物理硬盘上的系统一致.2.通过命令行在创建的虚拟机目录下创建一个指向物理硬盘的虚拟硬盘 VBoxManage internalcomm ...

  4. PYTHON学习之路_PYTHON基础(4)

    学习内容: 1.Python函数的基本语法 2.Python函数的返回值与变量 3.Python嵌套函数 4.Python递归函数及实例(二分查找) 5.Python匿名函数 6.Python内置方法 ...

  5. “设计之变”--从iPhone应用到iPad应用

    在做APP的iPad版本设计时,我们常常需要考虑:如何在延续iPhone版本设计特色和优点同时,充分利用iPad的特性更好地进行设计.本文从iPad和iPhone的差异性入手,试图总结这一设计过程中需 ...

  6. 【整理】--linux指令

    1.压缩 解压 .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.g ...

  7. PCFG -- 基于统计方法生成语法树

    语法树的作用 一棵语法树不仅包括了词性(part of speech), 还包括了短语(如名词短语, 动词短语)和结构化的信息(如主语, 谓语和宾语). 这些信息是进行机器翻译所必须的, 例如机器翻译 ...

  8. GDB调试精粹及使用实例(转)

    一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符 ...

  9. 视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

    说好的给园子里的朋友们录制与<ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库> 这篇博客相对应的视频,由于一个月一来没有时 ...

  10. .Net平台下,分布式文件存储的实现

    遇到的问题 对于Web程序,使用一台服务器的时候,客户端上传的文件一般也都是存储在这台服务器上.但在集群环境中就行不通了,如果每个服务器都存储自己接受到的文件,就乱套了,数据库中明明有这个附件的记录, ...