JavaScript 刷题记录【1】 null和undefined的比较【1.1】数组长度的计算【1.2】如果获取select表单当前选中的元素的值【1.3】

1. null和undefined的比较

        var a; 
        var b = null;
        console.log(a); 
        console.log(b); 
        console.log(a == b, a === b); 

请问三个console分别输出什么?

见如下代码

        var a; // 声明了,但是未定义
        var b = null;
        console.log(a); // undefined
        console.log(b); // null
        console.log(a == b, a === b); // true false

1. 如果是两个等于号,会进行隐式转换,且会转化为布尔型。

2. a声明但是未定义值,就是undefined,转化为布尔型就是false

3. null转化为布尔型也是false。 【null undefined 空值 NaN 0转化为布尔型都是false,其余都是true

4. 三个等于号,就是要求值和数据类型都一致,无法隐式转换。Null的数据类型是Object,undefined的数据类型就是undefined

补充:总共有几种数据类型:

基本数据类型:七种原始类型,数字型【number】,字符串型【string】,布尔型【boolean】,null,undefined,symbol,未来的bigInt【任意精度整数】

复杂数据类型:对象【任何从对象中派生出来的数据类型,包括数组

2. 数组长度的计算

        var arr = [];
        arr[0] = 1;
        arr[1] = 2;
        arr[2] = 3;
        arr[4] = 5;
        console.log(arr); // [1, 2, 3, empty, 5]
        console.log(arr.length); // 5

我原来以为长度应该是4,结果是5,空出来的那个直接显示empty

3. 如果获取表单当前选中的元素的值

比如当前表单的选中的值是北京,如何通过js获取北京这个值 

HTML

<form action="" name="a">
        <select name="a" id="obj" size="1">
            <option value="a" selected>北京</option>
            <option value="b">上海</option>
            <option value="c">广州</option>
        </select>
</form>

JavaScript

            //1. 首先获得下拉框的节点对象;
            var obj = document.getElementById("obj");
            //2.如何获得该下拉框所有的option的节点对象
            var options = obj.options; // 返回的是一个伪数组
            //3.如何获得当前选中的option的索引?
            var index = obj.selectedIndex;
            console.log(index); // 0
            //4. 
            var str = options[index].text()

根据W3C,注意obj.options是获取select表单的option的数组集合

 此外,注意selectedIndex能够获取当前选中的表单的索引号

引用 W3C链接:HTML DOM Select 对象

引用一位博客关于select的使用的更多介绍:js 操作select和option常见用法 - 爱笑的小宇宙 - 博客园

结尾:

学习id: 201903090124-25

现在是大三学生,学习到了前后端交互阶段,如有不对的地方,欢迎指正,一起努力呀。如有转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值