JavaScript笔记(二):正则表达式 事件

正则表达式

定义:正则表达式用于定义一些字符串的规则。

作用:计算机可以根据正则表达式,来检查一个字符串是否符合指定的规则;或者将字符串中符合规则的内容提取出来。

	var 变量 = new RegExp("正则表达式"); // 注意,参数是字符串

	var 变量 = new RegExp("正则表达式", "匹配模式"); // 注意,两个参数都是字符串

示例

只传一个参数时

	var reg = new RegExp("a"); // 定义一个正则表达式:检查一个字符串中是否含有 a

	var str1 = "hiahia";
	var str2 = "smyh";

	// 通过 test()方法,判断字符串是否符合 上面定义的 reg 规则
	console.log(reg.test(str1)); // 打印结果:true
	console.log(reg.test(str2)); // 打印结果:false

传两个参数

i 忽略大小写。这里的 i 指的是 ignore。

g 全局匹配模式。这里的 g 指的是 global。

我们再来看更复杂的表达式

最基础的’\d’可以表示匹配一个数字 '\w’可以表示匹配一个字母 '.'表示匹配任何一个字符

注意 上面的情况都表示只匹配一个字符 如’\d\d’可以匹配’00’,但’000’显然是不行的

这时候,加上*可以表示匹配任意个数(包括0),+表示至少一个,?表示0个或1个,{n}表示n个,{n,m}表示n到m个

注意 特殊字符是需要转义的 比如 ‘-’ 我们应该使用’-'来匹配它

\s匹配一个空格

更复杂的情况,我们可以用[]来表示范围

[0-9a-zA-Z\_]这样一个式子表示匹配一个数字、字母或下划线

[0-9a-zA-Z\_]+则表示至少一个数字、字母或下划线 如’0_z’此时是可以匹配的

[a-zA-Z\_\$][0-9a-zA-Z\_\$]*匹配的字符串以字母或下划线或$开头,后面跟任意个数字、字母、下划线或$

[a-zA-Z\_\$][0-9a-zA-Z\_\$]{0, 19}表示字符串的长度为1-20个(以字母或下划线或$开头,后面跟0-19个字母)

事件

事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间。 对于 Web 应用来说,有下面这些代表性的事件:点击某个元素、将鼠标移动至某个元素上方、关闭弹窗等等。

事件的三要素:事件源、事件、事件驱动程序。

代码书写步骤如下:(重要)

(1)获取事件源:document.getElementById(“box”); // 类似于Android里面的findViewById

(2)绑定事件: 事件源box.事件onclick = function(){ 事件驱动程序 };

(3)书写事件驱动程序:关于DOM的操作。

<body>
<div id="box1"></div>

<script type="text/javascript">
    // 1、获取事件源
    var div = document.getElementById("box1");
    // 2、绑定事件
    div.onclick = function () {
        // 3、书写事件驱动程序
        alert("我是弹出的内容");
    }
</script>

</body>

常用事件:
在这里插入图片描述
获取事件源

var div1 = document.getElementById("box1");      //方式一:通过id获取单个标签

var arr1 = document.getElementsByTagName("div");     //方式二:通过 标签名 获得 标签数组,所以有s

var arr2 = document.getElementsByClassName("hehe");  //方式三:通过 类名 获得 标签数组,所以有s

绑定事件方式
1、匿名函数

<div id="box1" ></div>

<script type="text/javascript">
    var div1 = document.getElementById("box1");
    //绑定事件的第一种方式
    div1.onclick = function () {
        alert("我是弹出的内容");
    }
</script>

2、先定义函数

 <div id="box1" ></div>

<script type="text/javascript">
    var div1 = document.getElementById("box1");
    //绑定事件的第二种方式
    div1.onclick = fn;   //注意,这里是fn,不是fn()。fn()指的是返回值。
    //单独定义函数
    function fn() {
        alert("我是弹出的内容");
    }
</script>

3、行内绑定

<!--行内绑定-->
<div id="box1" onclick="fn()"></div>

<script type="text/javascript">

    function fn() {
        alert("我是弹出的内容");
    }

</script>

驱动程序示例

    <style>
        #box1 {
            width: 100px;
            height: 100px;
            background-color: pink;
            cursor: pointer;
        }
    </style>
</head>

<body>

<div id="box1" ></div>

<script type="text/javascript">
    var div1 = document.getElementById("box1");
    //点击鼠标时,原本粉色的div变大了,背景变红了
    div1.onclick = function () {
        div1.style.width = "200px";   //属性值要写引号
        div1.style.height = "200px";
        div1.style.backgroundColor = "red";   //属性名是backgroundColor,不是background-color
    }
</script>

DOM

JavaScript基础分为三个部分:

ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。

DOM:文档对象模型(Document object Model),操作网页上的元素的API。比如让盒子移动、变色、轮播图等。

BOM:浏览器对象模型(Browser Object Model),操作浏览器部分功能的API。比如让浏览器自动滚动。

什么是DOM

DOM:Document Object Model,文档对象模型。DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。目的其实就是为了能让js操作html元素而制定的一个规范。

DOM就是由节点组成的。

解析过程: HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树,getElementById是获取内中DOM上的元素节点。然后操作的时候修改的是该元素的属性。

DOM树:(一切都是节点)

DOM的数据结构如下:

在这里插入图片描述
暂时不深入学习JS了,之后有空继续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值