一、{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。 
如:var LangShen = {"Name":"Langshen","AGE":"28"}; 
上面声明了一个名为“LangShen”的对象,多个属性或函数用,(逗号)隔开,因为是对象的属性, 
所以访问时,应该用.(点)来层层访问:LangShen.Name、LangShen.AGE,当然我们也可以用数组的方式来访问,如:LangShen["Name"]、LangShen["AGE"],结果是一样的。 
该写法,在JSON数据结构中经常用,除此之外,我们平时写函数组的时候,也经常用到,如:

var LangShen = { 
Name : function(){ 
return "LangShen"; 
}, 
Age : function(){ 
return "28"; 

调用方式差不多,因为是函数组,所以要加上(),如:alert( LangShen.Name() ); 
二、[ ]中括号,表示一个数组,也可以理解为一个数组对象。 
如:var LangShen = [ "Name","LangShen","AGE","28" ]; 
很明显,每个值或函数,都是独立的,多个值之间只用,(逗号)隔开,因为是数组对象,所以它等于: 
var LangShen = Array( "Name","LangShen","AGE","28" ); 
访问时,也是和数组一样,alert( LangShen[0] ); 
三、{ } 和[ ] 一起使用,我们前面说到,{ } 是一个对象,[ ] 是一个数组,我们可以组成一个对象数组,如: 

var LangShen = { "Name":"Langshen", 
"MyWife":[ "LuLu","26" ], 
"MySon":[{"Name":"Son1"},{"Name":"Son2"},{"Name":"Son3"}] 

从上面的结构来看,是一个对象里面的第一项是个属性,第二项是一个数组,第三个是包含有多个对象的数组。调用起来,也是一层一层访问,对象的属性用.(点)叠加,数组用 [下标] 来访问。 
如:alert( LangShen.MySon[1].Name ) ;


问题一:

var obj1 = { 100: "a", 2: "b", "7": "c", "e": "123"};
obj1.100和obj1.7都不正确,可以这样 obj1[100]和obj1[7]、obj1['100']

问题二:

'use strice'; 
var ar = Array(5,6,7);
Object.prototype.toString.call(ar); //"[object Array]"
ar[3]=33;
ar //(4) [5, 6, 7,33] ar['ss'] =99;
ar //(4) [5, 6, 7, 33, ss: 99] 数组ar长度为4,但是ar['ss']正常,且可以对象方式表示ar.ss

总结:

对象的属性名可以为数字,但是不能正常读取,可以以数组下标形式读取。

数组中可以存在类似于分健值对,读取发数组方式或对象方式都可以,但是数组长度不正常

JS中对象与数组(大括号{}与中括号[])的更多相关文章

  1. JS中对象转数组方法总结

    1.Array.from() 方法,用于数组的浅拷贝.就是将一个类数组对象或者可遍历对象转换成一个真正的数组.eg: let obj = { 0: 'nihao', 1: 'haha', 2: 'ga ...

  2. js中对象的一些特性,JSON,scroll家族

    一.js中对象的一些特性 对象的动态特性 1.当对象有这个属性时,会对属性的值重写 2.当对象没有这个属性时,会为对象创建一个新属性,并赋值 获得对象的属性的方式 为元素设置DOM0级事件 二.JSO ...

  3. javascript中对象和数组的异同点

    一.JS声明对象或数组 JS对象:{ } JS数组:[ ] 对象 var b={m:'123',n:'abc'};alert(b.m);alert(b.n); 一维数组 var a=[1,2,3];a ...

  4. js中的伪数组

    一, 伪数组 1. 具有length属性 2. 按索引方式存储数据 3. 不具有数组的方法, 比如push(),pop()等 二, 生成伪数组的方法 在js中生成伪数组的方法比较多 1. functi ...

  5. js中对象转化成字符串、数字或布尔值的转化规则

    js中对象可以转化成 字符串.数字.布尔值 一.对象转化成字符串: 规则: 1.如果对象有toString方法,则调用该方法,并返回相应的结果:(代码通常会执行到这,因为在所有对象中都有toStrin ...

  6. js实现对象或者数组深拷贝

    今天遇到个问题,就是vue绑定的数组在push中所有的数组都会跟着改变.这个主要是因为 JavaScript中对象或者数组等引用类型,直接拷贝,改变一个另外一个也会改变: 有个简单的方法就是先转换为字 ...

  7. 【转载】js中对象的使用

    原文链接:http://www.jb51.net/article/90256.htm[侵删] 简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一 ...

  8. js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么

    js课程 3-10  js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么 一.总结 一句话总结:js中是对象点方法的形式,这些方法都是对象的方法,而在php.java中却不是这样. 1.j ...

  9. [转]JS中对象与字符串的互相转换

    原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: thr ...

随机推荐

  1. 浏览器的cookie的值改成字典格式

    首先我们把复制的cookie的值赋给b >>> cookies = 'bid=Qzw9cKnyESM; ll="108288"; __yadk_uid=4YChv ...

  2. vue项目引用 iView 组件——全局安装与按需加载

    框架的热度,出现了不少基于Vue的UI组件库,这次项目用到了 iView 这个组件库.使用方法官网很详细. 官网:https://www.iviewui.com/ 这篇文章主要是记录一下npm 全局安 ...

  3. 误删除innodb ibdata数据文件

    今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单 ...

  4. bat实现获取文件每行内容,for循环中运行多条命令

    关键词:bat,bat获取文件内容 1.获取每行内容 @echo offfor /f "delims=" %%i in (config.txt) do (echo "%% ...

  5. 前端 HTML form表单标签 input标签 type属性 重置按钮 reset

    input type="reset" value="重置" reset重置 还原到默认状态 <!DOCTYPE html> <html lan ...

  6. 爬虫请求库——selenium

    selenium模块 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题.selenium的缺点是效率会变得很慢. sel ...

  7. Learn golang: Top 30 Go Tutorials for Programmers Of All Levels

    https://stackify.com/learn-go-tutorials/ What is Go Programming Language? Go, developed by Google in ...

  8. 多线程——newFixedThreadPool线程池

    newFixedThreadPool线程池: 理解: 1.固定线程数的线程池. 2.通过Executors中的静态方法创建:     public static ExecutorService new ...

  9. Linux-pkill命令

    pkill命令可以按照进程名杀死进程.pkill和killall应用方法差不多,也是直接杀死运行中的程序:如果您想杀掉单个进程,请用kill来杀掉. 语法:pkill(选项)(参数) 选项 -o:仅向 ...

  10. word2vec模型评估方案

    1.word2vec参数详解 · sentences:可以是一个·ist,对于大语料集,建议使用BrownCorpus,Text8Corpus或·ineSentence构建.· sg: 用于设置训练算 ...