JavaScript-初探

来源:互联网 发布:ubuntu的apache服务器 编辑:程序博客网 时间:2024/06/05 12:06

照着《JavaScript权威指南》学习,内容太多,把比较重要的记录下来,有时间分类整理。

JavaScript数据类型

JavaScript有三种基本数据类型、两种复合数据类型和两种特殊数据类型
  1. 基本数据类型:字符串,数值,布尔
  2. 引用数据类型:对象,数组
  3. 特殊数据类型:null,undefined

prototype原型属性

  1. JavaScript用于实现继承的方式。prototype即指向原型对象的引用,类似与java中的super。
  2. 原型属性是在对象创建之初就设置好的。
  3. 通过new创建的对象使用构造函数的prototype属性作为它们的原型。
  4. 通过Object.create()创建的对象使用第一个参数作为它们的原型。

属性的读取

属性的读取有两种方式:
  • object.attribute
  • object["attribute"]

for/in循环

for/in循环在遍历对象属性时非常方便,类似于java中foreach
var o = {x:1,y:2};for(var i int o){<span style="white-space:pre"></span>alert(i);}

&&短路

if(a==b)<span style="white-space:pre"></span>stop();(a==b)&&stop();
以上两句话的效果相同

对象构造的三种方式

  • 对象直接量
  • new
  • Object.create()
var book = {<span style="white-space:pre"></span>price:22.5,<span style="white-space:pre"></span>"name":"wanghao",<span style="white-space:pre"></span>date:new Date()}
<span style="font-family: Arial, Helvetica, sans-serif;">var a = new Array();</span>
第一个参数就是这个对象的原型
</pre><pre name="code" class="javascript">var o = Object.create(Object.prototype);

关联数组

可以将JavaScript对象看作是关联数组,php中有类似的概念,有点类似由java中Map,即键-值对。
  • 通过字符串索引而不是数字索引
  • 散列、映射或字典
  • JavaScript对象都是关联数组

delete删除属性

利用delete关键字取消对象的属性
var o = {x:1,y:2};delete o.x;

检测属性的三种方式

  • in
"x" in o;
  • hasOwnProperty()检测给定的名字是否是对象的自有属性
o.hasOwnProperty("x");

存取器属性


0 0