一、返回上一页(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. LNMP脚本安装

    #!/bin/bash#nginx:nginx-1.8.0.tar.gz#mysql:mysql-5.5.50.tar.gz#php:php-5.5.31.tar.gz#the software pa ...

  2. 根据用户IP获得所在城市

    运行以下代码即可<html> <head> <meta http-equiv="Content-Type" content="text/ht ...

  3. 安卓模拟器的报错This AVD's configuration is missing a kernel file!!

    安卓模拟器的报错: 可能的原因是target设置问题:

  4. styleId妙用

    styleId妙用: <html:text property="etpsBlocReg.cptlTotal" style="width: 94%;" re ...

  5. PXE网络启动提示no default or ui configuration directive问题解决

    按照 https://help.ubuntu.com/community/DisklessUbuntuHowto 的提示配置完系统,准备网络启动的时候,遇到: Trying to load pxeli ...

  6. 怎么让让整个HTML页面变灰

    怎么让让整个HTML页面变灰 其实很简单,我们只需要一句话. html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1 ...

  7. VC CComboBox用法总结

    VC每日一练,虽然简单,不动手试一下不能真正记住. 大气象 CComboBox *comboBox=(CComboBox*)GetDlgItem(IDC_COMBO1); comboBox->I ...

  8. RHEL5.8配置开机自动挂载磁盘

    Linux环境中可以通过fstab来设置自动挂载磁盘或者共享存储,操作如下: fstab配置文件路径:/etc/fstab 每行代表一个存储位置. [root@appsrv01 ~]# cat /et ...

  9. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (3):部署設定及應用 (转帖)

    說明:這一篇主要是說明如何將程式部署到Application Server,以及程式如何運作,產生的檔案置於何處,以及如何以瀏覽器呈現(Applet),或是當成桌面應用程式,或是 桌面Applet,這 ...

  10. 基于Selenium的自动化测试 C#版(1)

    引子 我一直在思考,作为一个架构师,如何简化程序员的工作,减轻运维的压力,减低测试的要求.然后做了很多很多的尝试.最开始的公司培训文档,一键发布工具,Nuget版本管理,VS项目模板,SOA统一服务提 ...