js的继续学习

 js的注意点和事件的学习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
    function fun(){
      // alert(arguments[0]);
      // alert(arguments[1]);
      // alert(arguments[2]);



      for(var i = 0;i < arguments.length;i++){
        alert(arguments[i]);
      }

      alert("无参函数fun()")
    }

    fun(1,"ad",true);




    function sum(sum1,sum2){
      var result = 0;
      for(var i = 0;i < arguments.length;i++){
        result += arguments[i];
      }
      return result;
    }
    alert(sum(1,2,3,4,5,6,7,8,9,10));

    var obj = new Object();
    obj.name = "华仔";
    obj.age = 18;
    obj.fun = function(){
        alert("姓名:"+this.name+",年龄:"+this.age);
    }
    //对象的访问
    //变量名.属性/函数名();

    alert(obj.age);
  </script>


</head>
<body>

</body>
</html>

<!--
js不允许重载,会直接覆盖上次的函数,覆盖上次的定义

js中的自定义对象(扩展内容)
var 变量名 = new Object();
变量名.属性名 = 值;
变量名.函数名 = function(){}

{}花括号形式的自定义对象
对象的定义:
    var 变量名 = {                         //空对象
        属性名 : 值;                      //定义一个属性
        属性名 : 值;                      //定义一个属性
        函数名 : function(){}            //定义一个函数
    }


事件  事件就是电脑输入设备与页面进行交互的响应。我们称之为事件。
常用的事件:
onload 加载完成事件         页面加载完成之后,常用于做页面js代码初始化操作
onclick 单击事件           常用于按钮的点击响应操作
onblur 失去焦点事件         常用于输入框失去焦点后验证其输入内容是否合法
onchange 内容发生改变事件    常用于下拉列表和输入框内容发生改变操作
onsubmit 表单提交事件      常用于表单提交前,验证所有表单项是否合法


事件的注册分为静态注册和动态注册两种
静态注册事件


动态注册事件
-->

静态注册和动态注册

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type="text/javascript">
    //静态注册
    function onLoadFun(){
      alert('静态注册onload事件,所有代码');
    }

   //动态注册
    window.onload = function (){
      alert("动态注册的onload事件");
    }
  </script>

</head>
<!--静态注册onload事件
    onload事件是浏览器解析完页面之后就会自动的执行
<body onload="onLoadFun()">
-->
<body>

</body>
</html>

静态和动态注册的onclick事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type="text/javascript">
    function onclickFun(){
     alert("静态注册onclick事件")
    }


    window.onload = function (){
        //获取标签对象;
       var btn = document.getElementById("1001");
        //通过对象.事件名 = function(){}
        btn.onclick = function (){
            alert("动态的事件");
        }
    }

  </script>
</head>
<body>
<!-- 静态注册onclick事件-->
<button onclick="onclickFun()">按钮1</button>
<button id="1001">按钮2</button>
</body>
</html>

静态注册失去焦点事件      动态注册onblur事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

<script type="text/javascript">
  //静态注册失去焦点事件
  function onblurFun(){
    //console 控制台对象,是由JavaScript语言提供,专门用来向浏览器的控制台打印输出,用于测试使用
    console.log("静态注册失去焦点事件");
  }


  //动态注册onblur事件
  window.onload = function (){
    //获取标签对象

    var btn1 = document.getElementById("10012");
    //通过标签对象.事件名 = function(){}
    btn1.onclick = function (){
      console.log("动态的");
    }
  }

  function onchangeFun(){
      alert("女神改变了");
  }


  window.onload = function () {
      var id1 = document.getElementById("123");
      id1.onchange = function () {
          alert("男神已经改变了");
      }
  }

</script>

</head>
<body>
  用户名:<input type="text" id="10012"><br/>
  密码:<input type="password" id="10013"><br/>

  请你选择你心中的女神:
<select onchange="onchangeFun()">
    <option>--女神--</option>
    <option>芳芳</option>
    <option>佳佳</option>
    <option>娘娘</option>
</select>

请你选择你心中的男神:
<select id="123">
    <option>--男神--</option>
    <option>郭哥</option>
    <option>华仔</option>
    <option>杰伦</option>
</select>
</body>
</html>

练习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type="text/javascript">
    function onclickFun(){
      var usernameObj = document.getElementById("username");

      var usernameText = usernameObj.value;

      var patt = /^\w(5,12)$/;  //正则表达式


      if(patt.test(usernameText)){
        alert("用户名合法!");
      }else{
        alert("用户名不合法!");
      }

    }
  </script>


</head>
<body>

 用户名:<input type="text" id="username" value="wzg">
 <button onclick="onclickFun()">校验</button>
</body>
</html>

这个正则表达式大家可以上网查一查,这里就不展开了;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type="text/javascript">

      function onclickFun(){
          var usernameObj = document.getElementById("username");

          var usernameText = usernameObj.value;

          var patt = /^\w(5,12)$/;

          var usernameSpanObj = document.getElementById("usernameSpan");

          // alert(usernameSpanObj.innerHTML);



          usernameSpanObj.innerHTML = "郭哥真可爱";


          if(patt.test(usernameText)){
              usernameSpanObj.innerHTML = "用户名合法!";
          }else{
              usernameSpanObj.innerHTML = "用户名不合法";
          }

      }
  </script>

</head>
<body>
用户名:<input type="text" id="username" value="wzg">
<span id="usernameSpan" style="color:red;"></span>
<button onclick="onclickFun()">校验</button>
</body>
</html>

如何实现 全选反选和全不选

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

  <!--getElementByName-->
  <script type="text/javascript">
    function checkAll(){
      var hobbies = document.getElementsByName("hobby");
      for(var i = 0;i < hobbies.length;i++){
        hobbies[i].checked = true;
      }
    }
    
    function checkNO() {
      var hobbies = document.getElementsByName("hobby");
      for(var i = 0;i < hobbies.length;i++){
        hobbies[i].checked = false;
      }
    }
    
    function checkReverse() {
      var hobbies = document.getElementsByName("hobby");
      for(var i = 0;i < hobbies.length;i++){
        if(hobbies[i].checked){
          hobbies[i].checked = false;
        }else{
          hobbies[i].checked = true;
        }
      }
    }
  </script>
  
</head>
<body>
  兴趣爱好:
  <input type="checkbox" name="hobby"  value="java">java
  <input type="checkbox" name="hobby" value="js">JavaScript
  <br/>
  <button onclick="checkAll()">全选</button>
  <button onclick="checkNO()">全不选</button>
  <button onclick="checkReverse()">反选</button>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_227

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值