JS中为什么给数组添加元素可以用.运算符直接赋值

如题所述

用Object原型里面的方法isPrototypeOf()可以看到Array类型也是属于对象的;
既然如此当然可以为其扩展新的属性了:
比如字母字符串就变成属性:
let arr = [];
arr["abc"] = 1;
console.log(arr["abc"]); //1 名为“abc”的属性

整型负数字符串和整型负数索引也变成属性:
let arr = [];
arr["-1"] = 1;
console.log(arr[-1]); //1 名为“-1”的属性
console.log(arr["-1"]); //1 名为“-1”的属性
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-11
因为javascript是弱类型语言,所以可以直接的给变量重新赋值,甚至改变数据类型,这也是javascript的特性。本回答被提问者采纳
相似回答