Date对象

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. var d = new Date();
  7. console.log(d);//如果直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间
  8. //创建指定时间
  9. var d2 = new Date("12/03/2016 11:00:00");
  10. var date = d2.getDate();//获取为几日
  11. var day = d2.getDay();//周几 0-6
  12. var month = d2.getMonth();//月份 0-11
  13. var time = d2.getTiem();//时间戳
  14. time = Date.now();//当前时间戳
  15. console.log(time);
  16. </script>
  17. <title>测试</title>
  18. </head>
  19. <body>
  20. </body>
  21. </html>

Math

Math不是构造函数 不用new

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. console.log(Math.PI);
  7. console.log(Math.abs(1));
  8. console.log(Math.ceil(1.3));//2 向上取整
  9. console.log(Math.round(Math.random()*9)+1);
  10. </script>
  11. <title>测试</title>
  12. </head>
  13. <body>
  14. </body>
  15. </html>

包装类

在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象
String() Number() Boolean()
方法和属性才能添加给对象,不能添加绐基本数据类型
当我们对一些基本数据类型的值去调用属性和方法时
浏览器会临时使用包装类将其转换为对象,然后在调用对象的属性和方法

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. var num = new Number(3);
  7. var str = new String("Hello");
  8. //一般不这么用
  9. num.hello = "abc";//向num中添加一个属性
  10. </script>
  11. <title>测试</title>
  12. </head>
  13. <body>
  14. </body>
  15. </html>

字符串方法

contact 连接字符串
indexOf lastIndexOf检测是否含有指定内容
slice 切片 substring
split()将字符串拆分成数组

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. var str = "Hello";
  7. console.log(str[0]);
  8. var result = str.charAt(0);
  9. console.log(result);
  10. result = str.indexOf("l",1);//找第二个
  11. var str2 = "he,ll,o";
  12. result = str2.spilt(",");
  13. result = str.spilt("");//h,e,l,l,o
  14. </script>
  15. <title>测试</title>
  16. </head>
  17. <body>
  18. </body>
  19. </html>

正则表达

比如检查邮件格式
正则表达式用于定义一些字符串的规则


在构造函数中可以传递一个匹配模式作为第二个参数
可以是 i 忽略大小写 g 全局匹配模式

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. var reg = new RegExp("正则表达式","匹配模式");
  7. var reg = new RegExp("a");//这个正则表达式可以来检查一个字符串中是否含有a
  8. var str = "a";//严格区分大小写
  9. //检查
  10. var result = reg.text(str);
  11. console.log(result);
  12. </script>
  13. <title>测试</title>
  14. </head>
  15. <body>
  16. </body>
  17. </html>

正则语法

使用字面量来创建正则表达式
语法var 变量 = /正则表达式/匹配模式

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. var reg = /a/i;
  7. var str = "a";
  8. var result = reg.text(str);
  9. console.log(result);
  10. var reg = /a|b|c/;//或
  11. var reg = /[ab]/;//或
  12. //[a-z]任意小写字母
  13. //[A-Z]任意大写字母
  14. //[A-z]任意字母
  15. //是否含有abc 或adc 或aec
  16. var reg = /a[bde]c/;
  17. var reg = /[^ab]/;//除了ab
  18. </script>
  19. <title>测试</title>
  20. </head>
  21. <body>
  22. </body>
  23. </html>

字符串和正则相关的语法

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. var str = "1a2b3c";
  7. var result = str.split("c");//拆分
  8. var result = str.split(/[A-z]/);//可以传递正则表达式
  9. var result = str.search("abc");
  10. var result = str.search(/a[bce]c/);
  11. var result = str.match(/[A-z]/);
  12. var result = str.match(/[A-z]/g);//找所有的字母
  13. var result = str.match(/[a-z]/ig);//match会封装到数组
  14. var result = str.replace("a","b");//替换内容 新内容
  15. var result = str.replace(/a/gi,"b");
  16. </script>
  17. <title>测试</title>
  18. </head>
  19. <body>
  20. </body>
  21. </html>

正则表达式语法

image.png

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. var reg = /aaa/;
  7. console.log(reg.test("abc"));
  8. var reg = /a{3}/;
  9. var reg = /(ab){3}/;//ab出现3次
  10. var reg = /ab{1,3}c/;//b出现1-3次
  11. var reg = /ab+c/;//至少一个
  12. var reg = /ab*c/;//0个或多个
  13. var reg = /ab?c/;//0个或1个
  14. var reg = /^a/;//表示开头为a吗
  15. var reg = /a$/;//表示结尾为a吗
  16. var reg = /^a$/;//如果在正则表达式中同时使用^$则要求字符转必须完全符合正则表达式
  17. var reg = /^a|a$/;
  18. //用来检查一个字符串是否是一个合法手机号
  19. var reg = /^1[3-9][0-9{9}$]/;
  20. //.表示任意字符 \.转义
  21. var reg = /\./;
  22. var reg = new RegEXp("\\.");
  23. //注意:使用构造函数时,由于它的参数是一个字符串,而\是字符串中转义字符,如果要使用\则需要使用\\来代替
  24. //接受用户名
  25. var str = prompt("请输入你的用户名:");
  26. str = str.replace(/^\s*|\s*$/g,'');
  27. </script>
  28. <title>测试</title>
  29. </head>
  30. <body>
  31. </body>
  32. </html>

邮件正则

网上常用表达式

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. // \w{3,} (\.\w+)* @ [A-z0-9]+ (\.[A-z]{2,5}){1,2}
  7. var emailReg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
  8. </script>
  9. <title>测试</title>
  10. </head>
  11. <body>
  12. </body>
  13. </html>

DOM

JS中通过DOM来对HIML文档进行操作。只要理解了DOM就可以随心所欲的操作WEB页面

  • 节点:Node——构成HTML文档最基本的单元。

常用节点分为四类

  1. 文档节点:整个HM文档
  2. 元素节点:HTML文档中的HTML标签
  3. 属性节点:元素的属性
  4. 文本节点:HTML标签中的文本内容

image.png

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>测试</title>
  6. </head>
  7. <body>
  8. <button id ="btn">button</button>
  9. <script type="text/javascript">
  10. //获取到button对象
  11. var btn = document.getElementByid("btn");
  12. console.log(btn);
  13. btn.innerHTML = "Hello";
  14. </script>
  15. </body>
  16. </html>

事件

事件就是用户和浏览器之间的交互行为。比如:点击按钮,鼠标移动,关闭窗口。。。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>测试</title>
  6. </head>
  7. <body>
  8. <button id ="btn" onclick="alert(1);">button</button>//不方便维护
  9. <button id ="btn">button</button>
  10. <script type="text/javascript">
  11. var btn = document.getElementByid("btn");
  12. btn.onclick = function{
  13. alert(1);
  14. };
  15. </script>
  16. </body>
  17. </html>

文档的加载

浏览器在加载一个页面时,是按照自上向下的顺序加载的,读取到一行就运行一行,如果将 script标签写到页面的上边,在代码执行时,页面还没有加载。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <script type="text/javascript">
  6. window.onload = function{
  7. var btn = document.getElementByid("btn");
  8. btn.onclick = function{
  9. alert(1);
  10. };
  11. };//统一写到onload中
  12. </script>
  13. <title>测试</title>
  14. </head>
  15. <body>
  16. <button id ="btn">button</button>
  17. </body>
  18. </html>