Js+Dom

一.Js

1.输出语句:console.log();alert() typeof 变量 输出对应变量的类型
2.javascrtpt是弱类型语言,即在运行的过程当中变量的类型可以发生变化
3.js的两种使用方式:1.直接使用script标签引用,第二种从外部导入js文件

  <script type = "text/javascript" src = ./my.js></script>

4.js的数据类型 number,string,boolean,object,function,js有三种特殊值,undefined 变量未赋初始值时,默认undefined,null:空值
NaN :非数值
5短路与机制:若&&的表达式为真,则返回最后一个表达式的值,若为假,则返回第一个错误表达式的值. 短路或机制,若表达式为真则返回第一个为真的表达式的值,若为假则返回最后一个为假的表达式的值
6.条件运算符,跟java一样,若表达式为真就返回第一个表达式的值,若为假就返回第二个表达式的值
7.数组

 <script type="text/javascript">
      //方式一
        var cars1 = ["Audi", "bmw", "volvo"]
        console.log(cars1);
    //  方式2定义一个空数组,然后再添加元素
      var cars2 = [];
      //方式三
      var cars3 = new Array(1,2,3)
      console.log(cars3[2])
    //  定义数组4
      var cars4 = new Array();
      cars4[0] = "天气好";
      cars4[1] = "在下雨"
      console.log(cars4[0])
    </script>
    数组的遍历与java类似这里不再举例

8.函数的使用方式:第一种与java相同,第二种:

 var 函数名 = function(形参列表){
    函数体
    return 表达式}
    //调用  函数名(实参列表)

函数注意事项:①js中函数的重载会覆盖掉上一次的定义 ②:函数的arguments隐形参数,在function中不需要定义,可以获取所有参数的变量

<script type = "text/javascript">
    function f2(){
      console.log("arguments=",arguments)
    }
    f2(10,20,30)
  </script>

③:如果我们的函数有形参,在传实参的时候,仍然按照顺序匹配,如果匹配上就赋给形参,不管匹配如何,仍然把所有的实参赋给arguments

9.对象的定义

var 对象名 = new Object();对象实例
对象名.属性名 =;
对象名.函数名 = function(){} //定义一个函数

定义方式2:

var 对象名 = {
属性名:值
属性名:值
函数名:function(){}
}

二.事件

1.事件的绑定:即当事件相应后浏览器 要执行哪些操作代码称作事件绑定:①通过html标签的事件属性直接赋予事件响应后的代码,这种方式叫做静态注册

②动态注册:通过js代码得到标签的dom对象,再通过dom对象.事件名 =function(){}的形式叫做动态注册
2.页面加载完毕事件:动态绑定和静态绑定案例

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

    //使用window(页面窗口)dom对象,即页面窗口被映射成了dom对象
    //window.onload表示页面被加载完毕,后面的函数表示加载完毕后要执行的代码
    //此为动态注册
    window.onload = function(){
      alert("window.onload加载完毕")
    }

  </script>
</head>
//在body这进行静态绑定
<body onload = "sayOk()">

</body>
</html>

3.点击事件onclick

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type = "text/javascript">
    function sayOk(){
      alert("你点击了sayOk按钮触发了sayOk方法")
    }
    //当页面加载完毕后,我们再进行动态绑定
    window.onload = function(){
      //动态注册onclick事件
      //先拿到id = btn01的button对应的dom对象
      //通过dom对象动态的绑定onclick事件
      var btn01 = document.getElementById("btn01")
      btn01.onclick = function(){
        alert("sayHi可以了")
      }
    }

  </script>
</head>
<body>

</body>
<button onclick = "sayOk()">sayOk按钮</button>
<button id = "btn01">sayHi</button>
</html>

4.失去焦点事件 onblur

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
    //静态绑定
  function upperCase(){
    //获取dom对象
    var fname = document.getElementById("fname");
    //通过对象来绑定相应事件
    fname.value = fname.value.toUpperCase()
  }


    //在页面加载完成后进行动态绑定
    //1.得到id = fname2的input对应的dom对象
    //通过dom对象动态绑定toUpperCase事件
    window.onload = function(){
    var fname2 = document.getElementById("fname2");
    fname2.value = fname2.value.toUpperCase();
    }
  </script>
</head>

<body>

输入英文单词:
<input type="text" id="fname" onblur="upperCase()"/> <br>
输入英文单词:
<input type="text" id="fname2"/>
</body>
</html>

5.内容发生改变事件onchange

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script type = "text/javascript">
    //静态绑定
    function mysal(){
      alert("工资发生变化了")
    }
    //动态绑定
    //首先先获取id = "girlfriend"的select的dom对象
    //再通过dom对象进行绑定事件
    window.onload = function() {
      var girl = document.getElementById("girlfriend");
      girl.onchange = function(){
        alert("女友变化了")
      }

    }
  </script>
</head>
<body>
你当前的工资水平:
<select onchange=" mysal()">
  <option>--工资范围--</option>
  <option>10k以下</option>
  <option>10k-30k</option>
  <option>30k以上</option>
</select><br>
你当前的女友是谁:
<select id = "girlfriend">
  <option>赵丽颖</option>
  <option>杨幂</option>
  <option>baby</option>
</select>
</body>
</html>

6.表单提交事件

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

    //进行动态注册提交表单
    //页面加载结束后再提交表单
    window.onload = function() {
        //首先获取dom对象
        var form2 = document.getElementById("form2");
        //再绑定提交事件
        form2.onsubmit = function () {
            //name可用于获取对应的value值
            name = form2.username.value
            if (name.length < 4 | name.length > 6) {
                alert("用户名长度不对")
                return false
            }
            psd = form2.psd.value
            if (psd.length != 6) {
                alert("密码长度不对")
                return false
            }
            if(psd!=form2.oSure.value){
                alert("输入的两次密码不相等")
                return false
            }
            //如何使用正则表达式
            var emailPattern = /^[\w-]+@([a-zA-Z]+\.)+[a-zA-Z]+$/;
            //验证括号里的是否满足emailPattern规则,满足返回真,不满足返回假
            if(!emailPattern.test(form2.ems.value)){
                alert("邮件的格式不正确")
                return false
            }
            return true
        }
    }
  </script>
</head>
<body>
<h1>注册用户</h1>
<form action = "ok.html" id = "form2" >
  用户名:<input type = "text"  id ="user" name = "username" >长度(4-6)<br>
  密 码:<input type = "text" id = "password" name = "psd">长度(6)</br>
  确 认:<input type = "text" id = "oneSure" name="oSure">长度(6)</br>
  电 邮:<input type = "text" id = "email" name="ems">满足基本格式</br>
  <input type = "submit"  value = "注册用户">
</form>
</body>
</html>

二.JsDom

dom就是document object model 作用是把文档中的标签属性文本转换为对象来管理
在文档对象模型中每个部分都是节点,文档本身是文档节点,所有Html元素是元素节点,属性是属性节点,文本是文本节点,注释是注释节点
1.获取option节点

标签的各个属性有何作用,如id,name,value等

节点常用属性:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值