博客
关于我
JavaScript——原生
阅读量:519 次
发布时间:2019-03-08

本文共 2176 字,大约阅读时间需要 7 分钟。

正则表达式与DOM操作

正则表达式

概述

正则表达式用于描述文本内容的匹配规则,是一种强大的文本检索工具。在网页开发中,尤其是注册、验证、格式化输入等场合,正则表达式应用广泛。

创建方法

正则表达式有两种主要创建方式:

  • 使用new RegExp构造函数:
  • var reg = new RegExp(/表达式/);
    1. 使用字面量:
    2. var reg = /表达式/;

      常用修饰符

    3. ^$

      • ^:匹配字符串开头
      • $:匹配字符串结尾
      • 综合使用时,表示严格匹配整个字符串。
    4. img

      • i:忽略大小写
      • m^$匹配行首和行尾
      • g:全局匹配
    5. 量词:

      • ?:匹配零或一
      • *:匹配零或多个
      • +:匹配一或多个
      • quantifier digits:如{4}表示4-4次重复
    6. 范围类:

      • [a-z]:匹配小写字母
      • [A-Z]:匹配大写字母
      • [0-9]:匹配数字
      • [a-zA-Z0-9]:匹配字母和数字
    7. 预定义字符:

      • \w:匹配单词字符(字母、数字、下划线)
      • \d:匹配所有数字字符
      • \D:匹配所有非数字字符
      • \s:匹配所有空格字符
      • \b:单词边界
    8. 实例

      // 匹配"abc"var reg = /abc/;//匹配不包含"abc"var reg = /[^abcv]/;//匹配包含"a"或"b"var reg = /a|b/;

      DOM操作

      父节点获取

    9. parentNode:返回父节点元素。
    10. parentElement:返回父元素节点,返回null若父节点不存在。
    11. 子节点获取

    12. childNodes:返回该节点的所有子节点,按递进序列。
    13. firstElementChild:返回第一个子元素节点。
    14. lastElementChild:返回最后一个子元素节点。
    15. firstChild:返回第一个子节点(包括文节点)。
    16. lastChild:返回最后一个子节点(包括文节点)。
    17. 兄弟节点获取

    18. nextElementSibling:返回当前节点的下一个兄弟节点。
    19. previousElementSibling:返回当前节点的上一个兄弟节点。
    20. 节点操作

    21. 创建节点:
    22. var li = document.createElement('li');
      1. 添加节点:
        • appendChild:将节点添加至父节点的最后。
        • insertBefore:将节点插入至父节点的指定位置。
        1. 删除节点:
        2. parent.removeChild(node);node.remove();
          1. 替换节点:
          2. parent.replaceChild(newNode, oldNode);
            1. 克隆节点:
            2. var cloned =reeNode.cloneNode();

              事件处理

            3. 事件对象的this指针:

              • 普通函数中this指向window
              • 使用new构造器时this指向构造函数返回的对象。
            4. 事件委托(事件冒泡):

            5. 元素.addEventListener('事件类型', 函数名, {capture: true});

              包含实例

              // 正则表达式var reg = /a|b/i;console.log(reg.test('aba')); // trueconsole.log(reg.test('abz')); // true// DOM操作var ul = document.querySelector('ul');var li = document.querySelector('li');var meng = document.createElement('li');// 创建节点var li_new = document.createElement('li');// 更新节点ul.appendChild(li_new);console.log(ul.firstChild === li_new); // true// 删除节点ul.removeChild(li);// 克隆节点var meng_two = meng.cloneNode();

              闭包与作用域链

              闭包允许函数持久化局部变量,控制变量的使用范围。

              闭包的作用

              • 让函数持久化本地变量。
              • 提供灵活的变量管理机制。

              闭包的实现

              function big() {    var c = 10;    return function small() {        console.log(c);    };}var test = big();test();

              दस大JS基础

              作用域链

              作用域链是解决变量查找问题的机制,按顺序查找当前作用域,到全局对象。

              变量提升

              未声明的变量会被提升至最近的可访问位置。

              匿名函数自调用

              (function () {    console.log('自调用函数执行');})();

              事件处理

              div.addEventListener('click', function (e) {    console.log('元素被点击');    e.preventDefault();});

              事件代理

              ul.addEventListener('click', function (e) {    console.log('列表项被点击');}, false);

              通过以上知识,可以更高效地编写和优化你的javascript代码。

    转载地址:http://txwiz.baihongyu.com/

    你可能感兴趣的文章
    我用wxPython搭建GUI量化系统之财务选股工具添加日历和排序
    查看>>
    2019年达观杯文本智能信息抽取挑战赛 四到十名队伍分享
    查看>>
    selenium+python之切换窗口
    查看>>
    重载和重写的区别:
    查看>>
    搭建Vue项目步骤
    查看>>
    oracle查看字符集后修改oracle服务端和客户端字符集的步骤
    查看>>
    Oracle闪回查询总结
    查看>>
    HDU——3374 String Problem (最大最小表示法+循环节+kmp)
    查看>>
    求1-n中x(0-9)的个数
    查看>>
    SQL server 2016安装
    查看>>
    Excuses, Excuses! map的应用
    查看>>
    搭建nfs服务器练习
    查看>>
    linux 编译出现的错误
    查看>>
    如何保证消息队列的高可用?
    查看>>
    Flutter-Dart version solving failed
    查看>>
    常见状态码
    查看>>
    MYISAM存储引擎
    查看>>
    什么情况必须使用 statement
    查看>>
    账号转账演示事务
    查看>>
    idea创建工程时错误提醒的是architectCatalog=internal
    查看>>