js中a.b与a[b]除了书写外,有什么区别

JavaScript07

js中a.b与a[b]除了书写外,有什么区别,第1张

在JS对象中,a.b与a[b]并没有什么区别,都是获得该对象的某个属性,不同之处在于a[b]中的b必须是个字符串,而a.b中的b绝对不能是。。

但在数组里,那就不能写成arr.idx了,只能是arr[idx]。

这个叫三目运算符

a > b? 'a':'b'

上述代码解析后就是

if(a>b){

    a

}else{

    b

}

如果a >b 成立,则是a,不成立则是b

你可以直接以字面量的声明和赋值方式去操作,如下

a1 = b + "a"

这里面要考虑一个问题就是,他们的变量类型转换

如果是Number类型,那么相加得到的就是一个number类型

如果要是Number类型和字符串想加,那么会自动转成字符串

上述。

b = 1 (type == Number)

"a" (type == String)

b + "a" 自动转换为 "1a"

可以加以判断 typeof(b+"a") == String

如果是String 返回值为true,反之为false