javaweb_day02-day03 学习笔记 —— javascript

javascript

浏览器解析的编程语言
不需要编译

一、基本语法

< script>放在< body>前,可能会报错:
在这里插入图片描述
在这里插入图片描述
报错原因:文档未加载完成调用不到函数。
则要将< script>放在< body>中的内容后面,保证文档加载后再调用函数。
在这里插入图片描述

1. 数据类型

typeof(变量名):返回数据类型

  • 字符串string:" " 或者 ’ ’
    str = “hello”;
    var x = “hello”;
  • 数值number
    var a=2;
    b=3;
  • 布尔型boolean
    var b1 = true;
    b2 = false;
    if(3){} //3表示true ,非0即为true
    if(0){} //0表示false
  • undefined
    var x; // 默认值为undefined
  • null
    var x = null;

2. 弱类型

  • 变量不需事先定义,可直接使用
    eg: str = “hello”;
  • 定义变量 var
  • 变量的数据类型由值决定。

3. 运算符

同java

  • == 判断值是否相同
  • === 判断数据类型、值是否相同

4. 语句

同java
if、switch、for、while、do…while、break、continue

eg:

  • if(3){ //非0即为true
    语句体;
    }

  • for(var i= 0; i<10;i++){
    语句体;
    }

二、函数

分类:

  • 自定义函数
  • 系统函数

定义函数格式
function 函数名(参数列表){ }

  • 无参无返回值
    function fun1(){
    alert(“fun1”);
    }
    fun1();//调用函数

  • 有参无返回值
    function fun2(x,y){ //不能加var
    alert(x+y);
    }
    fun2(2,3);

  • 无参有返回值
    function fun3(){
    return “hello”;
    }
    alert(fun3());

  • 有参有返回值
    function fun4(x,y){
    return x+y;
    }
    alert(fun4(4,5));

  • 匿名函数
    var test = function(){
    alert(“匿名函数”);
    }
    test();

  • javascript没有函数重载,会调用最后一个
    eg:
    function fun(){
    alert(fun());
    }
    function fun(x){
    alert(fun(x));
    }
    function fun(x,y){
    alert(fun(x,y));
    }
    fun(); // 结果为fun(x,y)

  • arguments
    function fun2(x,y){
    //arguments表示参数列表的数组
    alert(arguments.length);//获取数组长度
    }
    fun2();// 结果为fun() 调用两个参数的函数,若小括号里只有一个参数,则会调用一个参数的函数

三、内置对象

自定义定义对象格式
var obj = new Object();
obj.name="";
obj.study=function(){}

在JavaScript中不常用自定义对象,常用内置对象

1. 数组中的对象

数组长度可变,内存空间不固定

定义数组的四种方法:

  • var arr = [1,2,3,4,5];
    var arr2 = [ [1,2],[3,4] ];
  • var mycars=new Array()
    mycars[0]=“Saab”
    mycars[1]=“Volvo”
    mycars[2]=“BMW”
  • var mycars=new Array(3)
    mycars[0]=“Saab”
    mycars[1]=“Volvo”
    mycars[2]=“BMW”
  • var mycars=new Array(“Saab”,“Volvo”,“BMW”)

方法:

  • arr.push(9);
  • arr.pop();
  • for(i in arr){ }
  • for(i = 0;i < arr.length;i++){arr[ i ];}

2. string对象

在这里插入图片描述

3. Math

同java
随机数范围为>0,<1
在这里插入图片描述

4. Date

同java
月份是当前月份-1
在这里插入图片描述

5. 正则表达式

定义和使用:

  • var p1 = new RegExp (“abc”);
    alert(p1.test(“111abc”)); // 返回true
  • var p1 = new RegExp(“abc”,“i”);//i 不区分大小写
    alert(p1.test(“111Abc”)); // 返回true
  • //完全匹配 ^ [0-9]{3}$
    var p2 = new RegExp(" ^ [0-9]{3}$");
    alert(p2.test(“999”)); // 返回true
  • var p3 = / ^1(3|5)[0-9]{9}$ /;
    alert(p3.test(“13123154623”)); // 返回true

四、 事件

  • 事件源:在事件中,当前操作的那个元素就是事件源。
  • 事件类型(事件句柄):onBlur、onClick、onLoad
  • 处理事件:事件源添加事件句柄,由事件句柄调用函数处理事件。

常用事件

  • onClick :按钮的点击事件处理函数
    在这里插入图片描述
    在这里插入图片描述

  • onblur :失去焦点事件
    在这里插入图片描述
    在这里插入图片描述

  • onchange :内容发生改变
    在这里插入图片描述
    在这里插入图片描述

  • onload :加载事件
    在这里插入图片描述
    在这里插入图片描述

  • onmouseoveronmouseout :鼠标事件
    在这里插入图片描述
    在这里插入图片描述

五、DHTML

1. BOM:浏览器对象模型

browser object model的缩写。
定义了JavaScript可以进行操作的浏览器的各个功能部件的接口。

常用浏览器对象:

  • window:(内置对象)
    • alert() <=> window.alert(); 一个按钮的提示框
    • confirm():删除提示框,两个按钮
    • setInterval(“fun()”,1000);按照指定的周期(以毫秒计)来调用函数或计算表达式
    • location属性:表示当前位置
      • location = " ";
      • location.href = " ";

2. DOM:文档对象模型

Document Object Model的缩写
描述了处理网页内容的方法和接口。
(使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口。)

2.1 获取节点
  • 获取一个节点对象
    • var node = getElementById(“idName”);
      < input type=“text” id=“name”>
  • 获取数组对象
    • var nodes = getElementsByName(“name属性值”);
      < input type=“checkbox” name=“p”>
    • var nodes = getElementsByTagName(“tagName”);
    • var nodes = getElementsByClassName(“className”);
      < input type=“text” class=“name”>

练习:

  1. 多选框全选、反选
    在这里插入图片描述
  2. 轮播图片
    在这里插入图片描述
2.2 设置样式

三种方式:

  • node.style.属性名 = “属性值”;
  • node.className = “类选择器”;
  • node.setAttribute(“属性名”,“属性值”);
    在这里插入图片描述
2.3 显示和隐藏
  • display: none // 不保留隐藏的位置
    • display:block //表示显示
  • visibility: hidden // 保留隐藏的位置
2.4 创建、添加和删除节点
  • creatElement(“name”) :创建元素节点
  • createTextNode(“文本内容”) : 创建文本节点
  • appendChild :添加子节点
  • removeChild :删除子节点
    在这里插入图片描述
2.5 和节点相关的element属性
  • childNodes 所有子节点
  • firstNode 第一个子节点
  • lastNode; 最后一个子节点
  • parentNode; 父节点
  • nextElementSibling 下一个元素节点
  • previousElementSibling 上一个元素节点
练习:(二级联动、验证注册)
  1. 二级联动菜单
    在这里插入图片描述
  2. 验证注册。用户名或密码为空时不能提交表单。

return false:表示表单不提交,否则提交
在这里插入图片描述
如果表单提交按钮是button,可以使用submit()提交表单。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值