[转] Javascript 中的中括号 “[]” 的多义性

Javascript 中括号有4种语义

语义1 : 声明数组

var ary = []; // 声明一个空数组
var ary = [1,3]; // 声明一个数组,同时赋初值  

语义2 : 取数组成员

var ary = [1,2,3];
var item = ary[0];  

语义3 : 定义对象成员 (可以不遵循标识符规则 )

1  var obj = {};
2  // 为 obj 添加一个属性 name,name 是合法的标识符,即也可以通过 obj.name 方式来定义
3  obj[‘name‘] = ‘jack‘;
4
5  // 为 obj 添加一个属性 2a,2a 不是合法的标识符(不能以数字开头),不能通过 obj.2a 来定义
6  obj[‘2a‘] = ‘test‘;   

语义4 : 取对象成员

1 var obj = { name:‘jack‘ };
2 obj[‘2a‘] = ‘test‘;
3
4 obj[‘name‘]; // --> jack
5 obj[‘2a‘]; // --> test ( 不能通过 obj.2a 获取 )  
时间: 2024-10-22 13:49:07

[转] Javascript 中的中括号 “[]” 的多义性的相关文章

[转] Javascript 中的大括号 “{}” 的多义性

Javascript 中的大括号有4种语义作用 语义1 : 组织复合语句,这是最常见的 1 if( condition ) { 2 //... 3 }else { 4 //... 5 } 6 for() { 7 //... 8 } 语义2 : 对象直接量声明 1 var obj = { 2 name : 'jack', 3 age : 23 4 }; 整个是个赋值语句,其中的{ name : 'jack', age:23 }是个表达式. 语义3 : 声明函数或函数直接量 1 function f

JavaScript中function的多义性

JavaScript 中的 function 有多重意义.它可能是一个构造器(constructor),承担起对象模板的作用: 可能是对象的方法(method),负责向对象发送消息.还可能是函数,没错是函数,和对象没有任何关系独立存在的可以被调用的函数. 由于语言设计者的妥协,在 JavaScript 加入了一些 class 相关的特性,以使 JavaScript 看起来确实象 Java,可以 “面向对象”.虽然 JavaScript 添加了 new 和 this, 但却没有 class (ES

Javascript中的Object类

Object类是Javascript中最基本的类,用来创建普通对象,通常用这些对象存储数据. 1.Object对象 1.1.创建Object对象 创建Object对象有两种方式 第一种创建方式:new Object() var obj = new Object(); 第二种创建方式:{} var obj = {}; var obj2 = {"name":"tom","age":24}; 1.2.添加属性 obj.firstname = "

随笔,记录JavaScript中的面试题

我不知道我的js水平怎么样,但是今天有点受打击,看到很多题有坑.看了一些面试题,我记录下今天遇到的坑吧. 问题1:作用域 考虑以下代码,输出结果是什么? (function() { var a = b = 5; })(); console.log(b); 答案是5. 这道题我知道,陷阱在于var a = b =5,如果是声明,应该是var a,b =5;这样a,b的值都为5,由于a,b的都在函数作用域里面,所以外部是输出不出来的,则会显示b = undefined.而这里,由于js的特性,所以这

JavaScript中对象属性的添加和删除

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* * 用.为对象添加属性 用关键字delete删除属性 用[]添加属性 和.的不同 r.name==r["name"]; r.

JavaScript中对象的属性

原文:http://www.2ality.com/2012/10/javascript-properties.html JavaScript中有三种不同类型的属性:命名数据属性(named data properties),命名访问器属性(named accessor properties)以及内部属性(internal properties). 命名数据属性 这种属性就是我们通常所用的"普通"属性,它用来将一个字符串名称映射到某个值上.比如,下面的对象obj有一个名为字符串"

JavaScript中对数组和数组API的认识

JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重复的索引值.自动匹配索引值的数组称为索引数组,自定义索引值的数组称为关联数组(又叫哈希数组).以下均研究索引数组. 二.创建数组: 使用数组之前首先都要先创建并赋值给一个变量,创建数组有两种不同的方法. 1.调用构造函数Array()创建数组,索引数组索引值都从0开始 eg:var arr=New

JavaScript中的Cookie 和 Json的使用

JavaScript中的Cookie 和 Json的使用 JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.采用的是完全独立于编程语言的文本格式来存储和表示数据.于2001年开始广泛的推广使用,2005-2006正式的称为主流的数据格式.(JSON是一种高效的数据存储格式,JSON的结构和对象一致,也是以键值对的形式来进行存储的:但是JSON是字符型数据) 功能:JSON主要用来进行数据的存储和文本信息的交换,类似于XML.但是却比XML更加的

教你轻松搞定javascript中的正则

1 正则表达式概述 1.1 什么是正则表达式 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式.在Javascript中,正则表达式也是对象.正则表通常被用来检索,替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母.数字或者下划线,昵称输入中文(匹配).此外,正则表达式还常用于过滤掉页面内容中的一些敏感词,或从字符串从获取我们需要的特定部分(提取)等. 1.2 正则表达式特点 灵活性.逻辑性和功能性非常强 可以迅速地用极其简单的方式达到