首页 > Web开发 > 详细

js11-1犀牛笔记

时间:2015-11-09 23:59:04      阅读:519      评论:0      收藏:0      [点我收藏+]
 1 2015.11.1 犀牛书读书笔记
 2 
 3 //page123 6.2
 4 var person={
 5     name:"wang",
 6     age:18,
 7     sex:"man"
 8 }
 9 
10 访问属性的方式有两种:
11 1. person.name;
12 2. person["name"]
13 
14 可以获得属性或者给属性赋值
15 []方括号内必须是字符串,可以是字符串变量
16 用以访问关键字或是空格的属性名
17 例如:  person["class"];  person["my name"]
18 
19 associative array  关联数组
20 person["name"]这种访问方式类似于数组,只不过是用字符串作为索引,这种数组也称为散列、映射或是字典.
21 javascript的对象都是关联数组(或是散列、映射或是字典)
22 
23 C和C++、java这类称为强类型语言strong typed,对象只能拥有固定数目的属性,并且属性名称应该提前定义好。
24 而javascript是弱语言类型,在任何对象中程序都可以创建属性,动态的给对象添加。
25 
26 var customer={
27     address0:"a",
28     address1:"aa",
29     address2:"aaa",
30     address3:"aaaa",
31 }
32 var addr="";
33 for (var i = 0; i <4; i++) {
34     addr=customer["address"+i]+"\n";
35 }
36 数组写法,访问对象属性的灵活性
37 
38 //page125 继承
39 查询一个对象o的x属性:
40     o-->o.prototype-->o.prototype.prototype  //此时也许将o.prototype赋给了其他对象
41 
42 属性赋值操作首先检查原型链,判定是否允许赋值操作
43 若允许赋值,也只会在原始对象上创建属性,而不会去修改原型链
44 例子:
45 var unitcircle={r:1};
46 var c=inherit(unitcircle);
47 c.x=1;c.y=2;
48 c.r=5;
49 unitcircle.r;//仍然为1,因为c.r会在c的域内创建r属性,不会影响原型链
50 
51 访问一个没有定义的属性不会出错
52 var o={};
53 o.sub;//undenfined------>并不会出错
54 
55 var x=book&&book.subtitle&&book.subtitle.length;//&&短路原理,当为真时才执行下一项。  为假时立即赋值并退出
56 
57 delete运算符可以删除对象的属性,格式为  delete person.name  或者   delete person["name"]
58 delete不能删除那些可配置性为false的对象
59   比如:
60       function f(){}
61       delele f;
62 
63 
64  

 

js11-1犀牛笔记

原文:http://www.cnblogs.com/windSamW/p/4951450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!