zoukankan      html  css  js  c++  java
  • JS总结

    1、JavaScript 写在哪里
    • head部分:用于声明变量、函数、类型,为事件绑定处理函数
    • body分布:调用脚步执行
    • 外部脚步:用于定义函数、类型
      • 将代码封装到一个扩展名为js的文件中,然后再需要的地方引用,完成一次定义,多出引用的效果,简化了代码维护
      • 在文件中不需要写标签
    2、基本语法
    • 大小写敏感
    • 弱类型语言: var value = 1;
    • 分号结尾
    • 注释(单行// ctrl + /、多行/* */、方法/** */)
    fun1()
    /**
    * 方法一
    * @param {*} param1 这是参数一
    */
    function fun1(param1){
    }
    字符串既可以使用单引号,也可以使用双引号
     
    2.1、数据类型
    • 因为JavaScript为弱类型语言,故声明变量只需要使用 var 关键字即可声明任何类型
    • 虽然 var关键字 即可声明任何类型,但是JavaScript 仍有数据类型
      • boolean 布尔
      • number 数字
      • string 字符串
      • Undefined 未定义
      • Null 空对象
      • Object 对象类型
      • Undefined 类型和Null类型都是只有一个值得数据类型,值分别为undefined 与null
    • 查看变量类型可以使用 typeof 方法
    2.2 集合
    • 数组:[....]
      • var array1 = new Array(1); //赋值长度没有意义
      • var array2 = new Array(1);
      • var array3 = [];

    上面三种赋值

    var array = [1, 2, 3, 4, 5, 6]
     
    • 键值对:[键:值;...]
    var kv ={};
    var KeyValues = {"key1":"value1", "key2":"value2",....}
    // 赋值
    kv["a"] = "A";
    kv["b"] = "B";
    kv.c = "C";
    kv.d = "D";
    注意:键 不加"" js对象, 加"" jion格式的对象
    • Array 对象属性
    length 设置或返回数组中元素的数目
    • Array 对象方法
      • concat() 连接两个或更多的数组,并返回结果  // 不会改变原有数组
      • join() 把数组中的所有元素放入一个字符串,元素通过指定的分隔符进行分隔 // 返回一个字符串,默认逗号连接
      • push() 向数组的末尾添加一个或更多元素,并返回新的长度 // 返回一个长度
      • reverse() 颠倒数组中元素的顺序  
      • sort() 对数组的元素进行排序
      • splice() 删除元素,并向数组添加新元素
      • //array3.splice(2, 2, [56, 12]) 从下标为2开始删除两个元素,然后添加元素[56, 12]
      • array3.splice(2); 删除下标2开始后面的所有
      • array3.splice(0, 0, 1); 往开头添加1
    • 类型转换
      • parseInt("6789"); // 字符串转换为整数
      • parseFloat("6789.06"); // 字符串转换为浮点数
    2.3 方法使用
    使用关键字function定义方法
    方法名使用驼峰命名法
    方法可以设置参数及返回值
     
    function myfunction(param1, param2) {
    return param1 + param2;
    }

     

    2.4 匿名方法
    匿名方法可以简单理解成 不需要写方法名称的方法
    var fun = function(p1) {
    alert(p1);
    }
    fun(2);

     

    (function(p1) {
    alert(p1);
    })(1);
     
    3、闭包
    目前可以简单理解成子方法可以使用父方法的变量即可(不建议使用闭包,变量不易释放)
     
    4、DOM
    • DOM即 Document Object Model
    • Dom用于操作html文档,准备的说是操作html标签的内容
    • JavaScript中将每一个标签当做对象处理
    • 在HTML中,每个标签都用欧自己的属性,比如 style id class等,也拥有事件、方法,同样在is中作为对象处理的标签也拥有 属性、事件、方法等成员
    • 操作DOM对象,一般使用document 关键字调用
    4.1、js获取元素的方法
    • document.getElementById();根据id获取元素节点
    • document.getElementsByClassName();根据class的值 获取一组元素节点
    • document.getElementsByName(); 根据name获取一组元素节点
    • document.getElementsByTagName(); 根据标签名称获得一组元素节点
    • <div id="dv1" class="dv">我是dv1</div>
    • <div id="dv2" class="dv">我是dv2</div>
    • <div id="dv3" class="dv">我是dv3</div>
    • <div id="dv4" class="dv">我是dv4</div>
    • console.log(document.getElementById("dv1"));
    • console.log(document.getElementsByClassName("dv"));
    • console.log(document.getElementsByName(""));
    • console.log(document.getElementsByTagName("div"));
    4.2、注册事件
    事件注册常用的方式有多种,常用的方法有两种,一种为直接在元素上注册事件,另一种在获取的对象上注册触发事件
     
    (1)元素上注册事件
    <input type="text" name="" id="text1" value="11" onclick="clickMe()"> // 方法后面的()
    <input type="button" value="按钮" onclick="clickMe()">
    <script>        
    function clickMe() {
    //通过点击目标获取对象,在通过对象获取属性
    alert(event.target.value);
    console.log(event.target.value);
    }</script>
    (2)对象注册法
    <input type="text" name="" id="txt1" value="11">
    <script>
    document.getElementById("txt1").onchange = function() {
    alert(event.target.value);
    }
    document.firstChild; 获取第一个子元素
    </script>
     
    4.3 动态操作元素
    • document.createElement(); 创建元素
    • document.appendChild(); 添加子元素
    • document.insertBefore(newEl, orgEl); 在元素前添加元素
    • document.firstChild; 获取第一个子元素
    • document.childNodes; 获取所有子节点元素 
    • document.removeChild(); 移除指定子节点元素
    4.4 获取元素内容
    • innerHTML 用于获取与赋值拥有开闭标签的元素中全部的内容
    • innerText 用于获取与赋值拥有开闭标签的元素中文字部分的内容
    4.5 操作样式
    操作style属性
    style属性可以设置或返回样式
    style 设置css特征值时,需要把特征的短横线命名法 改为驼峰命名法 后使用
    5、BOM
    • BOM即Browser Object Model
    • BOM用于操作浏览器行为
    • 操作BOM对象,一般使用Window 关键字
    5.1、常用方法
    • alert():弹出提示对话框
    • confirm():弹出确认对话框,返回bool值类型
    • window.close();关闭浏览器
    • prompt(): 弹出用户输入对话框,返回输入的内容,如果取消则返回null
    • setInterval(code, milliseconds):计时器方法可按照指定的周期(以毫秒计)来调用函数或计算表达式
      • code:需要执行的代码
      • milliseconds:执行代码的周期
      • 方法会不停的调动函数,直到 clearInterval() 被调用或窗口被关闭,由setInterval() 返回的计时器,ID 值可用作 clearInterval() 方法参数
    • setTimeout(code, milliseconds):一次性计时器方法用于在指定的毫秒数后调用函数或计算表达式
      • code:需要执行的代码
      • milliseconds:执行代码的周期
      • clearInterval() 方法来阻止函数的执行,由setInterval() 返回的计时器 ID 值可用作 clearInterval() 方法参数
    • location 浏览器地址栏对象
      • hash 返回一个URL的锚部分
      • host 返回一个URL的主机和端口
      • hostname 返回URL的主机名
      • href 返回完整的URL
      • pathname 返回的URL路径名
      • port 返回一个URL服务器使用的端口号
      • protcol 返回一个URL协议
      • search 返回一个URL的查询部分
    • onload 页面加载完成后调用
     
          
     
  • 相关阅读:
    tensorflow 计算图模型的保存和恢复
    Python 小项目
    一些Python代码
    Anaconda 创建的新环境的位置, 解决pycharm中不能访问numpy的问题, conda命令 、设置镜像源、解决jupyter启动新环境kernel问题
    gdb调试程序
    一个完整的Makefile文件举例
    机器学习 Coursera Note
    2018年第九届蓝桥杯 第九题:全球变暖(满分23分)
    2018年第九届蓝桥杯 第八题:日志统计(满分21分)
    2018年第九届蓝桥杯 第七题:螺旋折线(满分19分)
  • 原文地址:https://www.cnblogs.com/fuyouqiang/p/14681684.html
Copyright © 2011-2022 走看看