JavaScript小结(二)

来源:互联网 发布:系统集成软件 编辑:程序博客网 时间:2024/06/06 13:23

1 . delete 运算符 :delete是一元操作符,用来删除对象属性或者数组元素。delete是具有副作用的,用来操作删除的,不是用来返回一个值的。

var a ={ x:1,y=2};//定义对象delete a.x;"x" in a   //false 这个属性在对象中不存在 var b = {1,2,3};// 数组 delete b[2]; 3 in b; //false b.length // 3 数组长度并没改变,代码删除了这个元素,但删除后,位置并没有删除,因此仍然为3

需要注意的是,是哪删除属性或者删除数组元素不仅仅是设置了一个undefined的值,当删除一个属性时,这个属性将不再存在,读取一个不存在的值返回 undefined 但是可以通过in 运算符 来检测这个属性是否在对象中存在。
var声明的变量 无法通过delete删除。
2 . for/in 语句也使用for关键字,但是它和常规for循环完全不同,语法结构如下;

for(variable in object)    statement

variabel 通常一个变量名,一个可以产生左值的表达式或者一个一个通过var语句声明的变量。 object是一个表达式,表达式计算结果为对象。
通常使用for循环遍历元素:

for(var i=0;i<a.length;i++)    console.log(a[i]);//输出数组中每个元素

使用for/in循环更为简单:

for(var p in a)    console.log(a[p]);

执行for/in语句 中,解析器首先计算object表达式,表达式为null或者undefined,将会跳过循环并执行后续代码。
3 . JavaScript 语句小结
break : 退出最内层循环或者退出switch语句。
case:在switch语句中标记一条语句。
continue:重新开始最内层循环,结束本次循环。
debugger:断点器调试。
default:在switch中标记默认语句。
do/while:循环的一种替代形式。
empty:什么都不做。
for:一种简写循环。
for/in:遍历一个对象属性。
if/else:判断语句
return:从函数返回一个值
switch:用case或者“default”语句标记的多分支语句。
throw: 抛出异常。
try:捕获异常。
var :声明并初始化一个或者多个变量。
while:基本的循环结构。

3 .创建对象 :
可以通过对象直接量,关键字new 和object.creare()函数来创建对象。
(1)对象直接量来创建对象,也是最常用简单的方法。

var emoty ={};//无属性对象var point = {x:0,y:0};//两个属性var point2 ={x:point.x,y:point.y};//复杂属性var book ={    "main title":"javaScript",//属性名有空格必须用字符串表示    'sub-title':"The Definitive Guide",//属性名有连字符,必须用字符串表示    "for" : "all audiences",//for为保留字,必须用引号。    author:{        firstname:"aa",        lastname:"bb"    }//属性可以是一个对象。};

(2)通过new创建对象
new运算符创建并初始化一个新对象。关键字new后跟一个函数调用。这里的函数为构造函数。如:

var a =new Object();//空对象var b =new Array();//数组对象var c =new Date();//时间对象var r =new RegExp("js");//正则表达式

(3)Object.create()是一个静态函数,而不是提供给某个对象的方法。

var o =Object.create({x:1,y:2});//0继承了属性X,y

如果想创建一个普通的空对象,需要传入Object.prototype;

var o1=Object.create(Object.prototype);//o1和{}和new Object一样

正常的读取属性值 可以通过(.)或者方括号(【】)来获取。需要注意的是,上面我们用关键字创建的属性也可以使用这样方法读取book[“for”],最新版本已经支持 对象.属性名 来获取了。

0 0