1.javaScript中的??运算符
已定义: 只要变量的值不是Null/undefined即可被称为已定义
概念: 该运算符会返回多个变量中第一个值不为Null/undefined未定义的变量。
//此段代码的输出为mike
let name = 'mike';
alert(name??'内容为空');
//此段代码输出的结果为0
let a = 0;
let b = 'john';
alert(a??b);
//此段代码的输出结果为false
let a = null;
let b = false;
let c = 0;
alert(a ?? b ?? c);
??运算符类似于||运算符,不过二者存在一定的区别
let a = 0;
let b = false;
let c = 1;
//该代码的输出结果为1
alert(a||b||c);
//该代码的输出结果为0
alert(a??b??c);
2.函数的一些小细节
1.在javaScript的函数中传入的参数个数可以少于参数的个数
function showMessage(name,password) {
alert(name + " " + password);
}
let name = 'mike';
showMessage(name);
这段代码的运行结果为 mike undefined,当函数的参数没有被传入值时,默认的值为undefined。
2.可以指定函数参数的默认值
function showMessage(name,password='123456') {
alert(name + " " + password);
}
let name = 'mike';
showMessage(name);
这段代码的输出结果为mike 123456,password存在一个指定的默认值,当向password传入值时,该默认值会被顶替掉
3.关于return的一些细节
1.return返回的默认值为undefined
function showMessage() {
return;
}
let message = showMessage();
alert(message);
2.不要在return与返回值之间添加新行
function showMessage() {
return
'hello javaScript';
}
let mes = showMessage();
alert(mes);
该段代码运行结果为undefined,因为在javaScript中,默认会在return后面加上分号(;)。