用户工具

站点工具


javascript

JavaScript

基本语法

  1. 行内 : 相当于JavaScript属性直接使用
  2. 内部 : 介意放在body后
  3. 外部 : :?: <script src="js文件路径" type="text/javascript " charset="UTF-8"></script>

变量

  1. 不需要申明数据类型 用 var 修饰符声明变量
  2. 声明并赋值 或者 先声明再赋值 :?: var a = 10.5; 或者 var a; a=5;
  3. 同一个var 声明多个变量 :?: var x = "你好",y = "hello";

数据类型

-数值运算浮点型可能不精确,不要使用浮点数进行判断
-类型转换 parseInt() 转整数 , parseFloat() 转小数, 变量.toString 转字符串, 变量.toFixed(小数点位数) 转 四舍五入, Number(待转数据) 转数字 , String(待转数据) 转字符串

数据运算

  1. == 代表相等,=== 代表数据和类型都相等
    1. ? : 代表三目运算 :?: 3 > 5 ? 3 : 5 如果成立为3 否则为5

控制语句

数组

  1. 数组的定义
    1. var arr = [值1, 值2, 值3…];
    2. var arr = new Array(值1, 值2, 值3…);
    3. var arr = new Array(长度);
  2. 数组长度可以任意修改 :?: arr.length = 5;
  3. 数组取值: arr[下标], 可以设置值 :?: arr[2] = 10;
  4. 数组下标可以任意数据类型,不一定要数字
  5. 数组遍历 :?:
    1. for (var i = 0; i <arr.length ; i++) {console.log(arr[i]) }
    2. foreach
          arr.forEach(function (ele,index){
       
              console.log(ele); //打印数组遍历 ele自定义
              console.log(index); //打印索引 index自定义
              console.log("==========");
        })
    3. for…in
      for (var key in arr) {
       
       console.log(arr[key]);
       console.log("==========");
       
          }
  6. 数组方法
    1. 数组的添加 :?: arr.push(添加元素); 添加元素到最后
    2. unshift 添加元素到最前
    3. pop 删除最后一项
    4. shift 删除最后一项
    5. reverse 翻转 意思是倒着排列
    6. join 数组转成字符串 :?: arr.join('-') 括号里把数组逗号改-
    7. indexof 数组元素索引 :?: arr.indexof(数组元素) 查找素组元素对应的索引
    8. slice 数组的截取,元数组不发生变化 :?: arr.slice(索引开始号,索引结束号)
    9. splice 剪接数组,原数组变化,可以实现前后删除效果 :?: arr.splice(从第几个位置开始,截取的元素个数,后面还可添加元素)
    10. concat 数组合并 :?: arr.concat(arr1);

函数

  1. function 函数名(有参或无参){}
  2. 函数的调用: 函数名();
  3. 函数表达式: var 变量名 = function(){}
  4. 构造函数 var 变量名 = new function()
  5. 函数的作用域:全局变量与局部变量

内置对象

  • String
  1. cahrAt(idx) 返回指定位置处的字符
  2. indexof(chr) 返回字符串的位置
  3. subtr(m,n) 返回给定字符串从m位置开始,取n个字符,n省略,取到字符串末
  4. substring(m,n) 返回给定字符串从m位置开始,到n位置结束,n省略,取到字符串末
  5. toUpperCase() 转大写
  6. tolowerCase() 转小写
  7. length 属性,不是方法, 返回字符串的长度.
  • Math
  1. Math.random() 随机数
  2. Math.ceil() 向上取整,大于最大整数
  3. Math.floor() 向小取整, 小于最小整数String
  • Date
  1. 获取日期:getFullyear(),getMonth(),getDate…
  2. 设置日期:setYear()…

对象

  • 对象的创建
    1. var 对象名 = {}; :?:
        var obj = {};
        obj.name = "江婷婷";
        obj.age = 32;
        console.log(obj);
  1. var 对象名 = {键:值,键:值,键:值…}; 值的类型可以是函数,数组等 :?:
      var obj ={
         name:"王政",
         age:18
     }
      console.log(obj);
  2. var 对象名 = new object();
  3. var 对象名 = object.creat(null);
  4. var 对象名 = object.create(参考对象);
  • 对象的序列化和反序列化
  1. 对象的序列化:将对象转化为字符串 :?:
     var obj = {};
      obj.name = "江婷婷";
      obj.age = 32;
      console.log(obj);
     
      var str = JSON.stringify(obj);
      console.log(str);
  2. 对象的反序列化:将一个JSON字符串转换为对象 :?:
     
    var obj2 = JSON.parse(str);
     
     console.log(obj2);

this

  1. 只能在函数内部使用
  2. this指的是调用函数的那个对象
  3. 在函数中使用this属于全局调用,代表全局对象,通过windows对象来访问.

JS事件

  • 常用事件
  1. onload:当页面或图像加载完立即触发
  2. onblur:元素失去焦点
  3. onfocus:元素获得焦点
  4. onclick:鼠标点击某个对象
  5. onchange:用户改变域的内容
  6. onmouseover:鼠标移动到某个元素上
  7. onmouseout:鼠标从某个元素上离开
  8. onkeyup:某个键盘的键被松开
  9. onekeydown:某个键盘的键被按下

:?:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body onload="loadwindow()">
 
</body>
<script type="text/javascript">
 function loadwindow(){
 
     console.log("加载...")
 }
 
</script>
 
</html>
  • 事件流和事件模型
  1. 事件的顺序两种类型:事件捕获和事件冒泡
  • 事件的处理程序
  1. HTML事件处理程序
  2. DOM 0事件处理程序 :?:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <button type="button" id="btn">DOM 0事件处理程序</button>
    </body>
    <script type="text/javascript">
     var btn = document.getElementById("btn")
     
    btn.onclick = function (){
        console.log("DOM 0事件处理程序")
     
    }
    </script>
    </html>
  3. DOM2级事件处理程序
    1. addEventListener():增加事件- 参数1 事件名,参数2 处理事件的函数,参数3 事件冒泡(false)或捕获(true)
    2. removeEventListener(): 移除事件- 参数1 事件名,参数2 处理事件的函数,参数3 事件冒泡(false)或捕获(true) :?:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button type="button" id="btn">DOM 0事件处理程序</button>
</body>
<script type="text/javascript">
 var btn = document.getElementById("btn")
 
btn.addEventListener('click',function (){
     console.log("DOM 2级事件")
 });
 btn.addEventListener('click',fn);
 function fn(){
     console.log("按钮被点击了")
 }
</script>
</html>

BOM对象

  1. 系统对话框:弹窗设置
  2. 打开窗口: Windows.open();
  3. 关闭窗口: window.close();
  • 时间函数
  1. setTimeout():在指定的毫秒数后调用函数或计算表达式,返回一个唯一的标识; 也可以通过返回的标识clearTimeout(id):来清除指定函数的执行
    var id = setTimeout(function,times);
          参数1:执行的函数
          参数2:时间,单位毫秒

    :?:

      setTimeout(function (){
            console.log("10秒后执行的程序...");
        },10000)
  2. setInterval():在指定的毫秒数后循环调用函数或计算表达式
  • history对象
  1. history对象的属性:lengt,返回浏览历史列表中的URL数量
  2. history对象的方法
    1. back()
    2. forward()
    3. go(跳转的步数)
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
 
</head>
<body>
<a href="https://www.baidu.com/">百度页</a>
<button type="button" onclick="window.history.back()">前进 </button>
<button type="button" onclick="window.history.forward()">后退</button>
<button type="button" onclick="window.history.go(2)">前进2</button>
 
</body>
<script type="text/javascript ">
 
    console.log(window.history.length);
 
</script>
 
</html>
  • location对象
  1. location对象的属性 href:设置或返回完整的URL
  2. location对象的方法:
    1. reload():重新加载当前的文档,相当于刷新
    2. replace():用新的文档替换当前的文档
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
 
</head>
<body>
 
<button type="button" onclick="test()">跳转 </button>
<button type="button" onclick="test1()">替换 </button>
 
</body>
<script type="text/javascript ">
 
    var url = window.location.href;
    // 获取当前访问的URL
    function test(){
        // 设置跳转的url
        window.location.href = "https://www.baidu.com/";
 
    }
    function test1(){
        // 设置替换的url
        window.location.replace("https://www.qq.com/")  ;
 
    }
 
</script>
 
</html>

Dom 对象

  • 节点
  1. 文档节点:document整个文档
  2. 元素节点:HTML的元素 :?: <div>,<a>,<img>等
  3. 属性节点:元素的属性如id,href,class等
  4. 文本节点:自己的内容
  5. 注释节点:<!– – >
  • 获取节点
  1. getElementById():根据id获取Dom对象
  2. getElementsByTagName():根据标签名获取Dom对象数组
  3. getElementsByClassName():根据样式名获取Dom对象数组
  4. getElementsByName():根据name属性获取Dom对象数组,常用于多选获取值

:!: href="javascript:void(0)":伪协议,表示不执行跳转,执行指定点击事件

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
 
</head>
<body>
 
<a href="javascript:void(0)" onclick="ByTagName()">测试</a>
 
<a href="javascript:void(0)" onclick="ByTagName()">测试2 </a>
 
</body>
<script type="text/javascript ">
 
    function ByTagName(){
       let p = document.getElementsByTagName("a")
 
        console.log(p[0]);
    }
 
</script>
 
</html>
  • 创建节点
  1. createElement():创建一个新的节点,需要传入节点的标签名称,返回创建的元素对象
  2. createTextNode():创建一个文本节点,可以传入文本内容
  3. innerHTMl:也能达到创建节点的效果,直接添加到指定位置了
  • 插入节点
  1. write():将任意的字符串插入到文档中
  2. appendChild():向元素中添加新的字节点,作为最后一个字节点
  3. insert(Before):向指定的已有的节点之前插入新的节点newltem:要插入的节点exsitingltem:参考节点需要参考父节点
  • 间接查找节点
  1. childNodes: 返回元素的一个子节点的数组
  2. firstChild:返回元素的第一个字节点
  3. lastChild:返回元素的最后一个子节点
  4. nextSibing:返回元素的下一个兄弟节点
  5. parentNode:返回元素的父节点
  6. previousSibing:返回元素的上一个兄弟节点
  • 删除节点
  1. removeChild(): 从元素中移除子节点

表单

  • 获取表单
  1. document.表单名称
  2. document.getElementByld(表单 id)
  3. document.forms[表单名称]
  4. document.forms[索引]
  • 获取表单的元素
  1. 通过id获取:document.getElementByld(元素 id)
  2. 通过form.名称形式获取:myform.元素名称
  3. 通过name获取:document.getElementsByname(name属性值)[索引]
  4. 通过tagName 数组:document.getElementsByTagName('input')[索引]
  • 获取单选按钮
  1. 获取单选按钮组:document.getElementsByName("name属性值")
  2. 遍历每个单选按钮,并查看单选按钮元素的checked属性
    1. 选中状态:checked = 'checked',checked,checked = true
    2. 未选中状态:checked =false 或 未设置
  • 获取下拉框

待定

提交表单

待定

表单校验

待定

javascript.txt · 最后更改: 创建人 zheng

总访问 300461, 本月 68, 昨日 494, 今日 68
  XX省XX市 XX 216.73.216.90 访问时间: 2026-08-01 21:24:59
联合云网 | 城市停车 | 互联智控系统 | 浙江税务局 | 金蝶云星空| 图片素材库 | GitHub
Windows Server 2022 | Microsoft 支持 | AR700 V300R023 配置指南 | BejSon
Copyright © 2026 浙ICP备2026026376号-1   浙公网安备33082202000166号