zoukankan      html  css  js  c++  java
  • JavaScript

    JavaScript概述

    什么是javascript: JavaScript一种直译式脚本语言,

    什么是脚本语言?

    java源代码 ----> 编译成.class文件 -----> java虚拟机中才能执行

    脚本语言: 源码 -------- > 解释执行

    js由我们的浏览器来解释执行

    HTML: 决定了页面的框架

    CSS: 用来美化我们的页面

    JS: 提供用户的交互的

    JS的组成:

    ECMAScript : 核心部分 ,定义js的语法规范

    DOM: document Object Model 文档对象模型 , 主要是用来管理页面的

    BOM : Browser Object Model 浏览器对象模型, 前进,后退,页面刷新, 地址栏, 历史记录, 屏幕宽高

     

    JS的语法:

    变量弱类型: var i = true

    区分大小写

    语句结束之后的分号 ,可以有,也可以没有

    写在script标签

    JS的数据类型:
    • 基本类型

      • string

      • number

      • boolean

      • undefine

      • null

    • 引用类型

      • 对象, 内置对象

    • 类型转换

      • js内部自动转换

    JS的运算符和语句:
    • 运算符和java 一样

      • "===" 全等号: 值和类型都必须相等

      • == 值相等就可以了

    • 语句和java 一样

    JS的输出
    • alert() 直接弹框

    • document.write() 向页面输出

    • console.log() 向控制台输出

    • innerHTML: 向页面输出

     

    • 获取页面元素: document.getElementById("id的名称");

     

    JS声明变量:

    var 变量的名称 = 变量的值

    JS声明函数:

    var 函数的名称 = function(){

    }

     

    function 函数的名称(){

    }

     

    JS的开发步骤

    <!--
    1. 确定事件 点击事件
    2. 通常事件都会出发一个函数
    3. 函数里面通常都会去操作页面元素,做一些交互动作
    -->

    1         <script>
    2             function dianwo(){
    3                 //alert("我被点击了");
    4                 //1.首先要获得这个div
    5                 var div = document.getElementById("div1")
    6                 div.innerHTML = "<font color='red'>内容被替换掉了</font>";
    7 //                div.innerText = "<font color='red'>内容被替换掉了</font>";
    8             }
    9         </script>
    1     <body>
    2         <input type="button" value="点我,修改DIV中的内容" onclick="dianwo()" />
    3         
    4         <div id="div1">
    5             这里的内容一会要被替换掉    
    6         </div>
    7     </body>

    简单的页面校验:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <!--
     7             1.校验用户名, 长度不能小于6位
     8                 1.确定事件: 提交事件 onsubmit
     9                 2.事件要触发函数 checkForm()
    10                 3. 函数中要去做一些校验
    11         -->
    12         <script>
    13             function checkForm(){
    14                 
    15                 //获取用户输入的内容
    16                 var input1 = document.getElementById("username");
    17 //                alert(input1.value);
    18                 var uValue = input1.value;
    19                 if(input1.value.length >= 6){
    20                     
    21                 }else{
    22                     alert("对不起,用户名太短啦!")
    23                     return false;
    24                 }
    25                 
    26                 //邮箱的校验
    27                 //获取用户输入的邮箱的值
    28                 var email = document.getElementById("email")
    29                 var uEmail = email.value;
    30                 if(/^[a-z0-9]+([._\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/.test(uEmail)){
    31                     alert("校验成功");
    32                 }else{
    33                     alert("校验失败")
    34                     return false;
    35                 }
    36                 
    37                 return true;;
    38             }
    39         </script>
    40         
    41     </head>
    42     <body>
    43         <form action="../01-网站首页的优化/网站首页.html" onsubmit="return checkForm()" >
    44             用户名:<input type="text" id="username" /><br />
    45             密码:<input type="password" id="password" /><br />
    46             邮箱:<input type="text" id="email" /><br />
    47             
    48             <input type="submit" value="提交" />
    49         </form>
    50     </body>
    51 </html>

    图片轮播:

     1         <!--
     2             1. 确定事件: 文档加载完成的事件 onload
     3             2. 事件要触发 : init()
     4             3. 函数里面要做一些事情:(通常会去操作元素,提供交互)
     5                1. 开启定时器: 执行切换图片的函数 changeImg()
     6             4.  changeImg()
     7                1. 获得要切换图片的那个元素
     8         -->
     9         <script>
    10             var index = 0;
    11             
    12             function changeImg(){
    13                 
    14                 //1. 获得要切换图片的那个元素
    15                 var img = document.getElementById("img1");
    16                 
    17                 //计算出当前要切换到第几张图片
    18                 var curIndex = index%3 + 1;  //0,1,2 
    19                 img.src="../img/"+curIndex+".jpg";  //1,2,3
    20                 //每切换完,索引加1
    21                 index = index + 1;
    22             }
    23             
    24             function init(){
    25                 
    26                 setInterval("changeImg()",1000);
    27             }
    28             
    29         </script>
    1     <body onload="init()">
    2         <img src="../img/1.jpg" width="100%" id="img1"/>
    3     </body>

    定时弹出广告:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <!--
     7             1. 确定事件: 页面加载完成的事件 onload
     8             2. 事件要触发函数:  init()
     9             3. init函数里面做一件事: 
    10                1. 启动一个定时器 : setTimeout() 
    11                2. 显示一个广告
    12                   1. 再去开启一个定时5秒钟之后,关闭广告
    13         -->
    14         
    15         <script>
    16         
    17             function init(){
    18                 setTimeout("showAD()",3000);
    19             }
    20             
    21             function showAD(){
    22                 //首先要获取要操作的img
    23                 var img = document.getElementById("img1");
    24                 //显示广告
    25                 img.style.display = "block";
    26                 
    27                 //再开启定时器,关闭广告
    28                 setTimeout("hideAD()",3000);
    29             }
    30             
    31             function hideAD(){
    32                 //首先要获取要操作的img
    33                 var img = document.getElementById("img1");
    34                 //隐藏广告
    35                 img.style.display = "none";
    36             }
    37         </script>
    38     </head>
    39     <body onload="init()">
    40         <img id="img1" src="../img/f001a62f-a49d-4a4d-b56f-2b6908a0002c_g.jpg" width="100%" style="display: none;"/>
    41     </body>
    42 </html>

    表单的页面校验:

    regutils.js在day03-js中
      1 <!DOCTYPE html>
      2 <html>
      3     <head>
      4         <meta charset="UTF-8">
      5         <title></title>
      6         <!--
      7             引入外部的js文件
      8         -->
      9         <script type="text/javascript" src="../js/regutils.js" ></script>
     10         <script>
     11             /*
     12                 1. 确定事件 : onfocus
     13                 2. 事件要驱动函数
     14                 3. 函数要干一些事情: 修改span的内容
     15             */
     16             function showTips(spanID,msg){
     17                 //首先要获得要操作元素 span
     18                 var span = document.getElementById(spanID);
     19                 span.innerHTML = msg;
     20             }
     21             /*
     22                 校验用户名:
     23                 1.事件: onblur  失去焦点
     24                 2.函数: checkUsername()
     25                 3.函数去显示校验结果
     26             */
     27             function checkUsername(){
     28                 //获取用户输入的内容
     29                 var uValue = document.getElementById("username").value;
     30                 //对输入的内容进行校验
     31                 //获得要显示结果的span
     32                 var span = document.getElementById("span_username");
     33                 if(uValue.length < 6){
     34                     //显示校验结果
     35                     span.innerHTML = "<font color='red' size='2'>对不起,太短</font>";
     36                     return false;
     37                 }else{
     38                     span.innerHTML = "<font color='red' size='2'>恭喜您,可用</font>";
     39                     return true;
     40                 }
     41             }
     42             
     43             /*
     44              密码校验
     45              */
     46             function checkPassword(){
     47                 //获取密码输入
     48                 var uPass = document.getElementById("password").value;
     49                 
     50                 var span = document.getElementById("span_password");
     51                 
     52                 //对密码输入进行校验
     53                 if(uPass.length < 6){
     54                     span.innerHTML = "<font color='red' size='2'>对不起,太短</font>";
     55                     return false;
     56                 }else{
     57                     span.innerHTML = "<font color='red' size='2'>恭喜您,够用</font>";
     58                     return true;
     59                 }
     60             }
     61             
     62             /*
     63              确认密码校验
     64              * */
     65             function checkRePassword(){
     66                 //获取密码输入
     67                 var uPass = document.getElementById("password").value;
     68                 
     69                 //获取确认密码输入
     70                 var uRePass = document.getElementById("repassword").value;
     71                 
     72                 
     73                 var span = document.getElementById("span_repassword");
     74                 
     75                 //对密码输入进行校验
     76                 if(uPass != uRePass){
     77                     span.innerHTML = "<font color='red' size='2'>对不起,两次密码不一致</font>";
     78                     return false;
     79                 }else{
     80                     span.innerHTML = "";
     81                     return true;
     82                 }
     83             }
     84             
     85             /*
     86              校验邮箱
     87              * */
     88             function checkMail(){
     89                 var umail = document.getElementById("email").value;
     90                 
     91                 var flag = checkEmail(umail);
     92                 
     93                 var span = document.getElementById("span_email");
     94                 //对邮箱输入进行校验
     95                 if(flag){
     96                     span.innerHTML = "<font color='red' size='2'>恭喜您,可用</font>";
     97                     return true;
     98                 }else{
     99                     span.innerHTML = "<font color='red' size='2'>对不起,邮箱格式貌似有问题</font>";
    100                     return false;
    101                 }
    102             }
    103             
    104             function checkForm(){
    105                 var flag = checkUsername() && checkPassword() && checkRePassword() && checkMail();
    106                 return flag;
    107             }
    108             
    109         </script>
    110     </head>
    111     <body>
    112         <form action="../01-自动轮播图片/图片自动轮播.html" onsubmit="return checkForm()" >
    113             用户名:<input type="text" id="username" onfocus="showTips('span_username','用户名长度不能小于6')" onblur="checkUsername()" onkeyup="checkUsername()" /><span id="span_username"></span><br />
    114             密码:<input type="password" id="password" onfocus="showTips('span_password','密码长度不能小于6')" onblur="checkPassword()" onkeyup="checkPassword()"/><span id="span_password"></span><br />
    115             确认密码:<input type="password" id="repassword" onfocus="showTips('span_repassword','两次密码必须一致')" onblur="checkRePassword()" onkeyup="checkRePassword()" /><span id="span_repassword"></span><br />
    116             邮箱:<input type="text" id="email" onfocus="showTips('span_email','邮箱格式必须正确')" onblur="checkMail()" /><span id="span_email"></span><br />
    117             手机号:<input type="text" id="text" /><br />
    118             
    119             <input type="submit" value="提交" />
    120         </form>
    121     </body>
    122 </html>

    表格的隔行换色:

     1         <script >
     2             function init(){
     3                 //得到表格
     4                 var tab = document.getElementById("tab");
     5                 //得到表格中每一行
     6                 var rows = tab.rows;
     7                 //便利所有的行,然后根据奇数 偶数
     8                 for(var i=1; i < rows.length; i++){
     9                     var row = rows[i];  //得到其中的某一行
    10                     if(i%2==0){
    11                         row.bgColor = "yellow";
    12                     }else{
    13                         row.bgColor = "red"
    14                     }
    15                 }
    16             }
    17         </script>

    全选和全不选:

     1             /*
     2                 全选和全不选步骤分析:
     3                  1.确定事件: onclick 单机事件
     4                  2.事件触发函数: checkAll()
     5                  3.函数要去做一些事情:
     6                      获得当前第一个checkbox的状态
     7                      获得所有分类项的checkbox
     8                      修改每一个checkbox的状态
     9             */
    10             
    11             function checkAll(){
    12 //                获得当前第一个checkbox的状态
    13                 var check1 = document.getElementById("check1");
    14                 //得到当前checked状态
    15                 var checked = check1.checked;
    16 //                     获得所有分类项的checkbox
    17 //                var checks = document.getElementsByTagName("input");
    18                 var checks = document.getElementsByName("checkone");
    19 //                alert(checks.length);
    20                 for(var i = 0; i < checks.length; i++){
    21 //                     修改每一个checkbox的状态
    22                     var checkone = checks[i];
    23                     checkone.checked = checked;
    24                 }
    25             }

    DOM操作:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <script>
     7             
     8             /*动态添加 :   <p>文本</p> */
     9             function dianwo(){
    10                 var div = document.getElementById("div1");
    11                 //创建元素节点
    12                 var p = document.createElement("p");  // <p></p>
    13                 //创建文本节点
    14                 var textNode = document.createTextNode("文本内容");//  文本内容
    15                 
    16                 //将p 和文本内容关联起来
    17                 p.appendChild(textNode);  //  <p>文本</p> 
    18                 
    19                 //将P添加到目标div中
    20                 div.appendChild(p);
    21             }
    22             
    23         </script>
    24     </head>
    25     <body>
    26         <input type="button" value="点我,添加P" onclick="dianwo()" />
    27         <!--一会动态的往这个Div中添加节点-->
    28         <div id="div1">
    29             
    30         </div>
    31     </body>
    32 </html>

    省市联动:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <script>
     7             /*
     8                 准备工作 : 准备数据
     9             */
    10             var provinces = [
    11                 ["深圳市","东莞市","惠州市","广州市"],
    12                 ["长沙市","岳阳市","株洲市","湘潭市"],
    13                 ["厦门市","福州市","漳州市","泉州市"]
    14             ];
    15             /*
    16                 1. 确定事件:  onchange
    17                 2. 函数: selectProvince()
    18                 3. 函数里面要搞事情了
    19                     得到当前操作元素
    20                     得到当前选中的是那一个省份
    21                     从数组中取出对应的城市信息
    22                     
    23                     动态创建城市元素节点
    24                     添加到城市select中
    25                     
    26             */
    27             function selectProvince(){
    28                 var province = document.getElementById("province");
    29                 //得到当前选中的是哪个省份
    30                 //alert(province.value);
    31                 var value = province.value;
    32                 //从数组中取出对应的城市信息
    33                 var cities = provinces[value];
    34                 var citySelect = document.getElementById("city");
    35                 //清空select中的option
    36                 citySelect.options.length = 0;
    37                 
    38                 for (var i=0; i < cities.length; i++) {
    39 //                    alert(cities[i]);
    40                     var cityText = cities[i]; 
    41                     //动态创建城市元素节点   <option>东莞市</option>
    42                     
    43                     //创建option节点
    44                     var option1 = document.createElement("option"); // <option></option>
    45                     //创建城市文本节点
    46                     var textNode = document.createTextNode(cityText) ;// 东莞市
    47                     
    48                     //将option节点和文本内容关联起来
    49                     option1.appendChild(textNode);  //<option>东莞市</option>
    50                     
    51 //                    添加到城市select中
    52                     citySelect.appendChild(option1);
    53                 }
    54                 
    55             }
    56             
    57         </script>
    58     </head>
    59     <body>
    60         <!--选择省份-->
    61         <select onchange="selectProvince()" id="province">
    62             <option value="-1">--请选择--</option>
    63             <option value="0">广东省</option>
    64             <option value="1">湖南省</option>
    65             <option value="2">福建省</option>
    66         </select>
    67         <!--选择城市-->
    68         <select id="city"></select>
    69     </body>
    70 </html>
  • 相关阅读:
    《C#高级编程》学习笔记------C#中的委托和事件(续)
    .NET Reflector 7.6.1.824 Edition .NET程序反编译神器(附插件安装教程2012-10-13更新) 完全破解+使用教程
    《C#高级编程》学习笔记------C#中的事件和委托
    TensorFlow+实战Google深度学习框架学习笔记(5)----神经网络训练步骤
    Tensorflow学习笔记----模型的保存和读取(4)
    Tensorflow学习笔记----基础(3)
    Tools
    English Learning
    Tools
    Testing
  • 原文地址:https://www.cnblogs.com/samuraihuang/p/10431489.html
Copyright © 2011-2022 走看看