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