从你不知道的JS中卷第五章开始记录(之前的以后补吧,再说吧反正)
5.1 语句和表达式
1.do{...}提案
var a,b;
a=if(true){
b=4+38;
}
上面的代码是无法运行的,因为语法不允许我们获得语句的结果值并将其赋予给另一个变量(至少现在不行),ES7规范有一项"do表达式"提案,
var a, b;
a = do {
if (true) {
b = 4 + 5;
}
};
do{...}表达式执行一个代码块,并且返回其中最后一个语句的结果值,然后赋值给变量a,目的就是将语句当做表达式来处理,从而不需要将语句封装为函数再调用return来处理,减少对eval()的使用.
2.js中逗号运算符 (,)
逗号运算符是二元运算符,它能够先执行运算符左侧的操作数,然后再执行右侧的操作数,最后返回右侧操作数的值。
var a = 42,b;
b = (a++, a); // (,) a++,a 中第二个表达式在a++之后执行,结果为43,并赋值给b
console.log(b); // 43
3.delete 运算符
delete用来删除对象中的属性和数组中的单元,通常以单独一个语句的形式出现。
var obj = {
a: 2
};
console.log(obj.a); // 2
console.log(delete obj.a); // true
console.log(obj); // {}
4.插一个小方法(提取所有元音字母)
function vowels(str) {
var mathes;
// 提取所有元音字母
if (str && (mathes = str.match(/[aeiou]/g))) {
return mathes
}
};
console.log(vowels('eaoifnsdgv')) // ['e', 'a', 'o', 'i']