js中!!符号含义 navigator含义 以及=>含义
(1)
!一个代表取反
!!两个代表将取反后的布尔值再取反,相当于直接将非布尔类型值转为布尔类型值,!!一般用来将后面的表达式转换为布尔型的数据(boolean) 因为javascript是弱类型的语言(变量没有固定的数据类型)所以有时需要强制转换为相应的类型,类似的如: a=parseInt("1234") a="1234"+0 //转换为数字 b=1234+"" //转换为字符串 c=someObject.toString() //将对象转换为字符串 其中第1种、第4种为显式转换,2、3为隐式转换 布尔型的转换,javascript约定和c类似,规则为 ·false、undefinded、null、0、"" 为 false ·true、1、"somestring"、[Object] 为 true。
(2)
navigator对象包含有关浏览器的信息
(3)
=>含义
x => x * x 相当于 function(x){return x*x}
箭头函数有两种格式, 一种只包含一个表达式,没有{…} 和 return 。 一种包含多条语句, 这个时候{} return 就不能省略
x => {
if (x>0){
return x*x
}else{
return x
}
}
如果有多个参数就要用():
// 两个参数返回后面的值
(x, y) =>x*y + y*y
//没有参数
() => 999
// 可变参数
(x, y, ...rest) =>{
var i,sum = x+y;
for (i=0;i<rest.length;i++){
sum += rest[i];
}
return sum;
}
如果要返回一个单对象, 就要注意, 如果是单表达式, 上面一种会报错, 要下面这种
// 这样写会出错
x => {foo:x} // 这和函数体{}有冲突
// 写成这种
x => {{foo:x}}