关于对象字面量花括号{} key的类型

原来对{}方式建立的实例化后的对象的key,理解不清,只知道,数组加不加“”,反正都是字符,现在要理解下,到底怎么回事?返回结果是

var a={};
a[1]="a";
a["1"]=1;
a["‘1‘"]="aa";
a["b"]=2;
a[{1:2}]=3;

console.log(a);
for(var i in a){
	console.log(i);
	console.log(typeof i);
	console.log(i.length);
}

  

Object {1: 1, ‘1‘: "aa", b: 2, [object Object]: 3}
1 //会把第一个没有加“”的覆盖
string
1
‘1‘
string
3   //单引号算长度了
b
string
1
[object Object]  //将那个对象,调用了toString的方法
string
15 

总结,那个key都是string类型,如果是对象等,会调用toString的方向显示。

关于对象字面量花括号{} key的类型

时间: 2024-10-15 14:56:22

关于对象字面量花括号{} key的类型的相关文章

Javascript——对象字面量常用写法以及规则

对象字面量 对象字面值是封闭在花括号对({})中的一个对象的零个或多个"属性名-值"对的(元素)列表.你不能在一条语句的开头就使用对象字面值,这将导致错误或产生超出预料的行为, 因为此时左花括号({)会被认为是一个语句块的起始符号. 以下是一个对象字面值的例子.对象car的第一个元素(译注:即一个属性/值对)定义了属性myCar:第二个元素,属性getCar,引用了一个函数(即CarTypes("Honda")):第三个元素,属性special,使用了一个已有的变量

JavaScript语言精粹1字符串,对象字面量

字符串 Strings JavaScript没有,字符,类型.仅包含一个字符的,字符串即可. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>testString1</title> <style type="text/css"></style> </hea

js对象字面量

js对象字面量 对象字面量的输出方式以及定义好处 1.对象字面量的输出方式有两种:传统的‘.’,以及数组方式,只不过用数组方式输出时,方括号里面要用引号括起来,如 var box = { name:’abc’; age:28 }; alert(box[‘name’]); 给对象定义方法, A:如果用传统定义对象的方式,就需要先定义方法,然后再把这个方法名赋值给对象的一个属性,如果要调用这个方法不加括号,就是返回方法代码:如果要调用这个方法该对象属性后面加上括号,就得到方法的返回值 functio

JavaScript中对象字面量

1 //对象字面量 { } 2 var dict = { 'zs': '张三', age: 18, email: '[email protected]', gender: '男', sayHi: function () { 3 4 } }; 5 for (var key in dict) { 6 alert(key + ' ' + dict[key]); 7 }

js对象字面量属性间相互访问的问题 和 这个问题与执行环境的关系

对象字面量属性间无法相互访问的问题: 我曾经在定义一个对象时, 并出于复用性的考虑试图复用某些属性: // test 1 var person = { firstName : "Bill", lastName : "Gates", fullName : firstName + " " + lastName // 这里报错 } alert(person.firstName); alert(person.lastName); alert(person

JavaScript对象字面量

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script type="text/javascript

对象字面量表示法

今天看书看到了一个没见过的词儿:对象字面量表示法,看过内容之后,发现这货就是Json,但又不仅仅是Json,于是好好的问了一番度娘,原来Json只是一个数组和对象字面量表示法的组合. 先说下数组的字面量表示法 数组其实也是对象,构造函数的方式创建数组方式如下: var myArr = new Array("妹妹","表妹","萝莉"); 字面量表示法(不知道这词儿之前,我一直这样写,推荐此写法): var myArr = ["妹妹&qu

js创建object实例的方式有两种(new操作符和对象字面量)

读javascript高级程序设计(第三版)有感: 创建object实例有两种方式,第一种用new操作符后跟object构造函数,如下所示: var bb= new Object(); bb.name = "zoumm"; bb.job = "web开发"; 第二种是使用对象字面量表示法,目的在于简化创建大量属性的对象过程.如下所示: var bb = { name:"zoumm", age:12 } 最后一个属性后面添加逗号,会在ie7及更早版

Javascript —— 理解对象字面量

javascript 手记(摘自Javascript中文网): 在javascript中,可以通过构造函数来创建对象,也可以通过对象字面量来创建对象. 在编程语言中,字面量是一种表示值的记法,例如,"Hello world!" 在许多语言中都表示一个字符串字面量(string literal ).JavaScript也不例外,如 5.true.false和null,它们分别表示一个整数.两个布尔值和一个空对象. javascript支持对象字面量,允许使用一种简洁而可读的记法来创建对象