JavaScript学习笔记(2)

目录

数组

函数

定义方式

第一种定义方式

第二种定义方式

隐形参数argument

对象

第一种定义方式

第二种定义方式

事件

事件的注册

静态注册

动态注册

常用事件

onload

onclick

onblur

onchange

onsubmit


数组

JavaScript里的数组定义比较随意,可以随意扩展,并且不同类型的数据可以放在同一个数组中

定义空数组:var a = [];

给数组赋值:a[0] = 12 ; a[2] = "sas", 这样,数组的长度会自动扩展为3。

函数

定义方式

第一种定义方式

function 函数名(形参列表){函数体};

注意,形参列表里直接写变量名称即可。

第二种定义方式

var 函数名 = function(形参列表){函数体}

注意两点:JavaScript里,函数若带返回值,无需在定义时特殊标识,只用在函数体中直接写return ** 即可;并且JavaScript里函数不允许重载,后定义的函数会覆盖先定义的哪个。

隐形参数argument

在JavaScript的函数定义里,形参列表其实没有也可以,因为有隐形参数自动会获取传入的参数。他比较像java里的可变长参数:public void fun(Object...args)。隐形参数和可变长参数一样,操作都类似数组。并且和本身形参列表里的形参并不矛盾。

function fun(a){
    alert(argument[0]);
    alert(argument.length);
    alert(a);
}

注意,JavaScript里数字和字符串相加结果会自动变为字符串。

对象

第一种定义方式

同样,对象也是一种数据类型,所以声明也用var,并且可以直接创建对象的属性和方法,不用先定义后使用

var obj = new object();
obj.属性名 = 值;
obj.方法名 = function(){};

第二种定义方式

也可以用{}进行定义:

var obj = {
    属性名:值,
    方法名:function(){}
}//注意,是用json一样的格式

事件

事件也就是用户所作的一系列操作,而JavaScript需要对这些操作做出相应的反应,这也是JavaScript最大的特性之一:信息交互。

事件包含以下几个:

onload 加载完成事件:页面加载完成之后,常用于作页面js代码的初始化(后面几个可以都放在这里面)

onclick单击事件: 常用于按钮的点击相应操作

onblur失去焦点事件: 常用于焦点移出输入框后判断内容是否合法

onchange内容发生改变事件: 常用于下拉列表和输入框内容发生改变后操作

onsubmit表单提交事件: 常用于表单提交前,验证所有表单内容是否合法

事件的注册

事件注册就是告诉浏览器发生上述事件后,应该做什么操作

静态注册

通过html标签的事件属性直接赋予事件发生后相应的代码

动态注册

先在js代码中获得标签的dom对象,然后通过dom对象.时间名 = function (){}赋予事件相应后的代码

常用事件

onload

...静态注册。onload是在浏览器解析完页面代码后进行的操作,因此需要写body标签的事件属性

<head>
    <script>
    function onload(){
    ...
    }
    </script>
</head>
<body onload = "onloadfun();">
</body>

...动态注册:是固定写法
<head>
    <script>
    window.onload = fun(){
    ...
    }
    </script>
</head>
<body>
</body>

onclick

静态注册略去,注意动态注册的话,要写在onload的方法里面!

window.onload = function(){
    var btnObj = document.getElementById("id");//"id"是想引入onclick事件的标签的id,很多是按钮
    btnObj.onclick = function(){
    } 
}

因为JavaScript中代码是从上到下执行的,若动态注册这两行代码放到外面,在执行这句js代码时,还没有id为“id”的标签,因此会报错。而放到函数里面的话应该是不被影响的。涉及到代码执行顺序?

onblur

动态注册同样要放到onload事件里

window.onload = function(){
    var passwordObj = document.getElementById("password");//常用于密码失去焦点后验证是否正确
    passwordObj.onblur = function(){
        console.log("动态注册失去焦点事件");
    }
}

onchange

可用于下拉选项框选择发生改变后进行相应操作

onsubmit

可用于表单提交后的数据验证。验证不合格后返回false,onsubmit属性接受到false后可以阻止表单提交。

静态注册
function onsubmitFun(){
    /**验证部分,这里假设验证不合法
    */
    return false;
}

body里表单标签写:
<form action = "http://localhost:8080" method ="get" onsubmit = "return onsubmitFun();">
    <input type="submit" value="静态注册">
</form>
动态注册
window.onload = function(){
    var formObj = document.getElementById("form01");
    formObj.onsubmit = function(){
        /**验证部分,这里假设验证不合法
        */
        return false;
       }
}
body里表单标签写:
<form action = "http://localhost:8080" method ="get" id="form01">
    <input type="submit" value="动态注册">
</form>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值