初涉JavaScript模式 (3) : 字面量
2014-01-02 02:16
351 查看
什么是字面量?
在编程语言中,字面量是一种表示值的记法。例如,"Hello, World!" 在许多语言中都表示一个字符串字面量(string literal ),JavaScript也不例外。比如举几个JavaScript字面量的例子,如5、true、false和null,它们分别表示一个整数、两个布尔值和一个空对象。咋一看,可能很绕,字面量很难下定义,其实以我的理解就是一眼能理解的量就是字面量。
对象字面量
对象字面量是一个名值对列表,每个名值对之间用逗号分隔,并用一个大括号括起。各名值对表示对象的一个属性,名和值这两部分之间用一个冒号分隔。实例如下:第一种
```javascript var wr = {}; //define blank object wr.name = "WeiRan" wr.age = 21; wr.sex = "male" ```
第二种
```javascript var wr = {name : "WeiRan", age : 21, sex : "male"}; ```
ps1 : 在注释中我注释了 define blank object 这其实是不准确的,在JavaScript中是没有任何对象是空对象的,即使是{}这种方式也是继承了部分Object.prototype的属性和方法
ps2 : 在后面的构造方法中也有类似的问题,this = {} this所指空对象就不在是Object.prototype,详细请往下看
ps3 : 前面我在全局变量的删除上使用了delete操作符,而相同的对象的属性也可以通过delete去删除
ps4 : 不要在最后一个属性后添加逗号(,) ,在IE浏览器下会产生错误,当时我写Tree组件的时候,这个Bug找了N久
最后1P 不要忘记结束大括号右边的(;)
数组字面量
数组字面量的表现形式和对象字面量类似,代码如下```javascript var a = [1, 2, 3]; ```
数组字面量表示法(Array literal notation) 并没有太多的内容:它只是一个逗号分隔的元素列表,并且整个列表包装在方括号中。可以给数组字面量指定任意类型的值,包括对象或则其他数组。数组字面量语法是非常简单、明确、并且优美的。
正则表达式字面量
JavaScript中的正则表达式也是对象,所以我们也可以通过字面量的方式来创建正则表达式,实例如下:```javascript var rep = /\\/gm; //正则表达式字面量 ```
如上代码所示:正则表达式字面量表示法语法清晰,短小,所以创建正则表达式的时候应优先考虑字面量表示法。
关于详细正则表达式的语法,可以去阅读 正则表达式
后记:
我所列出的字面量是比较容易混淆的,至于字符串、数值、布尔值。。。我就不一一介绍了。(偷个懒)本来准备把字面量和构造函数放一起,但是想了想不太合适,构造函数展开的点比较多,放在一起会很乱,所以还是拆了出来
如有错误,望指正,共同进步!
相关文章推荐
- js图形库
- [Cannot deserialize JSON array into type] NewtonSoft.Json解析数据出错原因
- [Js++开发历程] 模拟面向对象
- JS仿QQ空间鼠标停在长图片时候图片自动上下滚动效果
- $.ajax传JSON数据到后台出现报错问题解决
- 使用javascript实现有效时间的控制,并显示将要过期的时间
- 利用JS解决ie6不支持max-width,max-height问题的方法
- javascript数组快速打乱重排的方法
- JS中Date日期函数中的参数使用介绍
- JavaScript四种调用模式和this示例介绍
- javascript中处理时间戳为日期格式的方法
- js创建元素(节点)示例
- js实现动态改变字体大小代码
- 使用js完成节点的增删改复制等的操作
- JS+JSP checkBox 全选具体实现
- Surge.js更新0.2.3 Alpha版本,添加对with标记的支持,并去掉模板中context引用。
- javascript闭包
- javascript闭包
- js学习笔记一数字
- [Jweb] JSP-编程 03 静态, 动态包含