正则表达式,window,history,location对象

正则表达式

<script type="text/javascript">
<!--
  var reg = /(..)./ ;  //括号表示子匹配,就是对结果进一步匹配
  var s = "abcde" ;

  alert(reg.test(s)) ;  //测试字符串中是否包含正则表达式中所匹配的字符串,返回的是boolean类型的
  alert(reg.exec(s).length) ;  //以数组的形式返回匹配的正则表达式的字符串
  alert(reg.exec(s)[0] + ":" + reg.exec(s)[1]) ;
//-->
</script>

BOM

  • BOM Windows(相当于Java中的Object)
  • clientWidth,clientHeight
<script type="text/javascript">
<!--
window对象的属性:
  1.innerHeight: 返回文档显示区的高度  
  2.innerWidth: 返回文档显示区的宽度   IE不支持
通用写法: window.document.body.clientWidth ;
  3. outerheight  包括了工具栏,菜单栏等的高度
  4. outerwidth   包括滚动条的宽度

function init(){
  var x = window.document.body.clientWidth ;
  var y = window.document.body.clientHeight ;
  alert(x + ":" + y) ;
}
//-->
</script>
  • opener

  • status 属性可设置或返回窗口状态栏中的文本。
例如:在状态栏显示当前时间

<script type="text/javascript">
<!--
  function init(){
  //拿到当前时间
  var d = new Date() ;
  //设置状态栏的文本
  self.status = d.toLocaleString() ;
  setTimeout("init()",1000) ;
}
//-->
</script>
 <body onload = "init()">   
 </body>
  • Windows的三种对话框
三种对话框:
  1. 消息框:alert() ;
  2. 确认框: confirm() :返回Boolean类型的值
<script type="text/javascript">
function disp_confirm()
  {
  var r=confirm("Press a button")
  if (r==true)
    {
    document.write("You pressed OK!")
    }
  else
    {
    document.write("You pressed Cancel!")
    }
  }
</script>
</head>
<body>
  <input type="button" onclick="disp_confirm()"
  value="Display a confirm box" />
</body>

  3. 输入框: prompt(): 返回输入的字符串(了解)
  • close():关闭浏览器窗口

  • Window对象的定时器

1.setTimeout(): 隔一段时间调用某个函数(只调用一次),返回的是一个计时器(理解成一个手表)
clearTimeout() :销毁由setTimeout()产生的计时器

2.setInterval(): 每隔一段时间调用某个函数(多次调用)
clearInterval(): 销毁由setInterval()产生的计时器
  • window的模态窗体

  • location对象

掌握:
1.href 属性: 是指要连接到其他的URL
  写法一、window.location.href='demo_window对象的close方法.html' ;
  写法二、window.location='demo_window对象的close方法.html' ;

2.reload方法: 刷新
  写法: window.location.reload() ;

history对象

3. history对象
  a.  forward()前进
  b.  back() 后退
  c.  go(n) 正数是前进,负数是后退.

常用事件

onmousemove(event) : 鼠标移动事件 event是事件对象。名字固定 
onmouseover : 鼠标悬停事件
onmouseout : 鼠标移出事件
onclick :鼠标点击事件
onload ,onunload:加载与卸载事件 
onfocus, onblur:聚焦与离焦事件
onkeypress,onkeyup,onkeydown:键盘事件
onsubmit,onreset:提交与重置事件
    选择与改变事件
  • 鼠标的移动事件
<title>Document</title>
  <style type="text/css">
    div{
        width:300px;
        height:300px;
        border:1px solid red;
    }
  </style>
 </head>
<script type="text/javascript">
<!--
    function fun(e){
        var x = e.clientX;
        var y = e.clientY;

        var txt = document.getElementById("txt");
        txt.value = x + ":" + y;
    }
//-->
</script>
MouseMoveEvent.gif
  • 鼠标悬停和移出事件
JS调用CSS两种方法
1.在函数中使用 对象.style.属性 = " "
2.使用选择器

<title>鼠标的悬停及移出事件</title>
<style type="text/css">
.one{
  color:red ;
  border:6px solid green ;
  cursor:hand;
      }
</style>
</head>
<script type="text/javascript">
<!--
  function fun(){
  //拿到p标签对象
  var p = document.getElementById("p") ;
  //定义p的样式
方式1:
  /p.style.color = "red" ;
  p.style.border = "5px dashed green" ;
  p.style.backgroundColor = "red" ;  //注意"-"不能出现
方式2:
  p.className = "one" ; //className
}

  function fun1(){
  //拿到p标签对象
  var p = document.getElementById("p") ;
  p.className = " " ; //或者"none"
}
//-->
</script>
<body>
  <p onmouseover = "fun()" onmouseout= "fun1()" id = "p">你好</p>
</body>
  • onload事件(在整个body加载完之后启动)
加载与卸载事件onload ,onunload
  加载事件(onload) : 在整个页面的元素加载完毕之后发生
  卸载事件(onunload) : 是在页面关闭时发生 
  
注意: onload和onunload事件必须写在body或者图片标签里面
  • 鼠标的点击事件onclick


  • 聚焦离焦事件
onfocus, onblur
  聚焦事件:是在控件获得焦点的时候发生
  离焦事件:是在控件失去焦点的时候发生
  • (重要)提交与重置事件(必须写在表单form中)
onsubmit,onreset
    提交事件: 是在点击提交按钮后发生。(必须写在form表单中)
    重置事件: 是在点重置交按钮后发生。

例1:
<form name="testform" action="jsref_onsubmit.asp"
onsubmit="alert('Hello ' + testform.fname.value +'!')">

What is your name?<br />
  <input type="text" name="fname" />
  <input type="submit" value="Submit" />
</form>

例2:
</head>
    <script type="text/javascript">
    <!--
        function check(form){
            //拿到文本框中的内容
            var txt = form.username.value ; 
            //判断内容
            if(txt == ""){
                document.getElementById("sname").innerHTML = " <font color = red>*  姓名必须填写</font>" ;
                form.username.focus() ;
                return false; 
            }
        
            return true ;
        }
        
        function fun(form){
            alert("重置事件") ;
            return true ;
        }

    //-->
    </script>
 <body>
    <form method="post" action="01-鼠标的单击事件.html" onsubmit = "return check(this)" onreset = "return fun(this)">
        姓名:<input type="text" name="username"><span id = "sname"></span><br>
        <input type="submit" value = "提交">
        <input type="reset" value = "重置">
    </form>
 </body>
  • 键盘事件
onkeypress,onkeyup,onkeydown
  onkeypress: 按下键盘按键并松开
  onkeydown : 按下按键发生
  onkeyup: 松开按键

<!--
    function fun(obj,e){
        obj.value = e.keyCode;
    }
 //-->

<body>
  <input type="text" name="" onkeypress = "fun(this,event)">
 </body>
  • 选择事件,改变事件(掌)
1.onselect: 只能用于输入框. 当选择输入框中的文本时发生

2.onchange: 用于下拉框select和文本框.
  对于下拉框是在选项发生变化的时候发生
  对于文本框是在文本框的内容发生变化并且失去焦点时发生

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容

  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,770评论 0 8
  • 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放...
    孤魂草阅读 888评论 0 0
  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 4,548评论 0 11
  • BOM是浏览器对象模型 Window对象 BOM 的核心对象是window,它表示浏览器的一个实例。 在浏览器中,...
    shanruopeng阅读 435评论 0 1
  • 亲爱的啊呜~ 本来就想着在纪念日给你写个浪漫情书感动你一把,没想到你却先用今天的玫瑰和明天的法式大餐惊喜了我。总算...
    是也阅读 700评论 0 0