JavaScript学习笔记(三)——对象
程序员文章站
2022-04-30 10:17:52
第四章 理解对象 1 说明 对象的状态:属性,行为:方法; 对象定义放在花括号内; 用冒号分隔属性名和属性值; 用逗号分隔属性名和属性值对,包括方法; 最后一个属性值后面不加逗号; 属性名可以是任何字符串,但通常遵循变量命名规则,包含空格时必须用引号将其括起来; 同一个对象中不能包含两个同名的属性; ......
第四章 理解对象
1 说明
对象的状态:属性,行为:方法;
对象定义放在花括号内;
用冒号分隔属性名和属性值;
用逗号分隔属性名和属性值对,包括方法;
最后一个属性值后面不加逗号;
属性名可以是任何字符串,但通常遵循变量命名规则,包含空格时必须用引号将其括起来;
同一个对象中不能包含两个同名的属性;
句点表示法访问对象,当然也可以用方括号方法(更为灵活且需注意无逗号);
添加新属性:指定新属性并赋值:fiat.needswashing=true;
删除属性:delete fido.dogyears;(删除成功返回true);
创建一个无属性的对象: var lookmanoprops={ };
将对象信息显示到控制台: console.log(fiat);
函数中传递的是对象的引用,因此在函数中对对象的修改有效;
2 实例1:
1 <script language="javascript" type="text/javascript"> 2 function getsecret(file,secretpassword) 3 { 4 file.opened=file.opened+1; 5 if(secretpassword==file.password) 6 return file.contents; 7 else 8 return "invalid password! no secret for you."; 9 } 10 function setscret(file,secretpassword,secret) 11 { 12 if(secretpassword==file.password) 13 { 14 file.opened=0; 15 file.contents=secret; 16 } 17 } 18 var supersecretfile={ 19 level:"classifiled", 20 opened:0, 21 password:2168, 22 contents: "dr. evel's next meeting is in detroit." 23 }; 24 var secret=getsecret(supersecretfile,2168); 25 console.log(secret); 26 var secret1=getsecret(supersecretfile,2152); 27 console.log(secret1); 28 setscret(supersecretfile,2168,"dr . evel's next meeting is in philadelphia"); 29 secret=getsecret(supersecretfile,2168); 30 console.log(secret); 31 </script>
3 实例2:
1 <!doctype html> 2 3 <html lang="en"> 4 5 <head> 6 7 <title>battleship</title> 8 9 <meta charset="utf-8"> 10 11 </head> 12 13 <body> 14 15 <script language="javascript" type="text/javascript"> 16 17 function makecar() 18 19 { 20 21 var makes=["chevy","gm","fiat","webville motors","tucker"]; 22 23 var models=["cadillac","500","bel-air","taxi","torpedo"]; 24 25 var years=[1955,1957,1948,1954,1961]; 26 27 var colors=["red","blue","tan","yellow","white"]; 28 29 var convertile=[true,false]; 30 31 32 33 var rand1=math.floor(math.random()*makes.length); 34 35 var rand2=math.floor(math.random()*models.length); 36 37 var rand3=math.floor(math.random()*years.length); 38 39 var rand4=math.floor(math.random()*colors.length); 40 41 var rand5=math.floor(math.random()*5)+1; 42 43 var rand6=math.floor(math.random()*2); 44 45 46 47 var car={ 48 49 make:makes[rand1], 50 51 model:models[rand2], 52 53 year:years[rand3], 54 55 color:colors[rand4], 56 57 passengers:rand5, 58 59 convertile:convertile[rand6], 60 61 mileage:0, 62 63 fuel:0, 64 65 started:false, 66 67 68 69 start:function(){ 70 71 this.started=true; 72 73 }, 74 75 stop:function(){ 76 77 this.started=false; 78 79 }, 80 81 drive:function(){ 82 83 if(this.started) 84 85 { 86 87 if(this.fuel>0) 88 89 alert("zoom zoom!"); 90 91 else 92 93 { 94 95 alert("uh , oh ,out of fuel!"); 96 97 this.stop(); 98 99 } 100 101 } 102 103 else 104 105 alert("you need to start the engine first!"); 106 107 }, 108 109 addfuel:function(amount){ 110 111 this.fuel+=amount; 112 113 } 114 115 }; 116 117 return car; 118 119 } 120 121 function displaycar(car) 122 123 { 124 125 console.log("your new car is a "+car.year+" "+car.make+" "+car.model); 126 127 } 128 129 var cadillac=makecar(); 130 131 displaycar(cadillac); 132 133 //访问对象中的属性 134 135 //方法一:迭代器 136 137 for(var pup in cadillac) 138 139 { 140 141 console.log(pup+" : "+ cadillac[pup]); 142 143 } 144 145 //方法二:句点访问法和方括号访问法 146 147 console.log("you new car 's color is "+cadillac.color); 148 149 console.log("your car counld hold "+cadillac["passengers"]+" people."); 150 151 console.log("your car counld hold "+cadillac["passe"+"ngers"]+" people."); 152 153 154 155 cadillac.drive();//开车 156 157 cadillac.start();//启动 158 159 cadillac.drive();//开车 160 161 cadillac.addfuel(15);//加油 162 163 cadillac.start();//启动 164 165 cadillac.drive();//开车 166 167 cadillac.stop();//熄火 168 169 cadillac.drive();//开车 170 171 </script> 172 173 </body> 174 </html>
4 对象拓展
javascript提供:
date, math, regexp(字符串中查找), json(与其他应用程序交换js对象)
浏览器提供:
doucument(写入网页),windows(,与浏览器相关),console(与控制台相关)
推荐阅读
-
MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎详解
-
JavaScript函数、闭包、原型、面向对象学习笔记
-
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
-
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
-
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
-
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
-
JavaScript中的Object对象学习教程
-
第三周LINUX学习笔记
-
javascript学习笔记整理(概述、变量、数据类型简介)
-
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间