一、返回上一页(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. makefile命令基本运用(一)

    一.makefile介绍: 一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译 ...

  2. 解决Android5.0以后DatePicker选择时间无效的bug。

    一.在布局中加上这句话. 加上了这句话后,就相当于强制用5.0以前的外观,所以外观会有所变化: 5.0以上没有这句话的外观: 加上之后的外观: 二.可以用DatePickerDialog代替

  3. Android系统启动顺序

    Android是一个基于Linux的开源操作系统.x86(x86是一系列的基于intel 8086 CPU的计算机微处理器指令集架构)是linux内核部署最常见的系统.然而,所有的Android设备都 ...

  4. 文本框如果不输入任何内容提交过后是一个空字符串还是null

    1.在表单不填就提交的情况下,text类型和textarea类型的表单域,提交到服务端为空 2.checkbox.readio.select等表单域在为不填情况下不会提交到服务器,也就是说服务器接收不 ...

  5. Shmget 参数 0600的解释

    Shmget 参数 0600的解释 0660 百位6 -- 本用户有读写权. 十位6 -- 同组用户有读写权,个位0 -- 其它用户无读写执行权.与chmod 设法一样.

  6. javascript练习-扑克牌

    下面用枚举类型来实现一副扑克牌的类: //定义一个玩牌的类 function Card(suit,rank){ function inherit(p){ if(p==null) throw TypeE ...

  7. code review

    代码审核,开发者代码完工,就可以下一个环节,即代码审核,通过代码审核,可以看到多个开发者的代码规范,隐藏的BUG,一些注释等规范. 通过代码审核,我们开发者可以互相学习,使得代码逻辑正确,重用

  8. Pair Project:电梯控制程序

    12061160刘垚鹏 & 12061166宋天舒 1.1结对编程的优缺点结对编程相对于个人编程有很多优点.首先,督促作用,在讨论过程中能够很快投入工作,为了不耽误对方时间,我们会尽快完成各自 ...

  9. 利用反射实现类通用的DAO层

    public void add(Object object) throws SQLException { ResultSet rs=null; PreparedStatement ps=null; C ...

  10. shell 知识

    解压 tar.bz2文件 bunzip2 linux-2.6.13.tar.bz2 | tar xvf -