javascript 第二天

1. delete 运算符,可以删除没有使用关键字var定义的变量;不能删除由关键字var 定义的变量;删除未定义的变量会返回true;删除后的变量将不能被访问。用法: delete variableName

2. delete 删除数组中的元素,要注意以下几点:有没有用var定义的数组,它里面的元素都可以被delete;删除了数组中的元素之后,数组长度并没有变短,只是该元素的值被删除了;被删除的元素仍然可以访问,只是元素值为undefined; 
3. in 是二元运算符,in在对象中使用:第一个操作数是string(对象的属性),第二个操作数是对象;in在数组中使用:第一个运算法是数字(数组下标),第二个运算符是数组名
称;

4. instanceof 用法: objectName instanceof objectType 判断一个对象的类型;

5.for...in 用于遍历对象属性和数组元素;用法:

varmyObject = {widths:10,heights:20,long : 30};

for (myPropertities in myObject ){

document.write(myObject[myPropertities] );

}

输出的结果是10,20,30;

如果直接document.write(myPropertities);则是直接输出属性名(包括方法名),而没有属性的值;

6.for each ... in 同样也用于遍历对象的属性和数组元素;用法:

var myObject = {widths:10,heights:20,long : 30};

for each ( myPropertities in myObject ){

document.write(myPropertities);

}

输出的结果是10,20,30;注意和for...in 的区别!

7.break 和 label结起来使用:label 要用在循环体前面才能起作用,break只能跳转到当前循环语句或者外层循环语句前的label;

step2:
for(var i=1;i<3;i++){
    for(var j=0;j<3;j++){
        if(i==j){ break step2;}
    }
}

8.方法里面可以内嵌方法,常用在构造函数中,里面再嵌入一个方法,这样就只有这个对象能调用这个方法,例如:

function Monitor(_price,_factory,_type,_size){
this.price = _price;
this.factory = _factory;
this.type = _type;
this.size = _size;
this.open = openMonitor;

function openMonitor(){
alert("您的浏览器已经打开了");
}

//this.open = new Function("document.write('显示器已经打开了<br>')"); 这么写也可以。。。

}

var myMonitor = new Monitor(1800,"远志公司","C1","17");

document.write("显示器的生产厂家:",myMonitor.factory,"<br>");
document.write("显示器的型号:",myMonitor.type,"<br>");
document.write("显示器的尺寸:",myMonitor.size,"<br>");
document.write("显示器的价格:",myMonitor.price,"<br>");

myMonitor.open();

这样只有显示器的实例能调用open方法;

9.当一个对象里面既有属性,又有方法的时候,如何去遍历其中的方法或属性呢?其实so easy,用typeof就搞定啦~看例子:

for(var obj1 in myMonitor){
if( typeof (myMonitor[obj1]) == "function"){
document.write("方法名:",obj1,"<br>");
} else {
document.write("属性名:",obj1,",属性值:",myMonitor[obj1],"<br>");
}
}

输出的结果是:(注意typeof后面跟的是属性的值,而不是属性名

属性名:price,属性值:1800
属性名:factory,属性值:远志公司
属性名:type,属性值:C1
属性名:size,属性值:17
方法名:open

10.在已经定义出来的对象中添加新的属性:myMonitor.interface = "VGA";这样就直接多了一个interface属性。

11.删除属性:delete myMonitor.interface;

12.用for(var obj in myMonitor){document.write(obj,"<br>");}直接遍历属性名,就能马上验证属性是否添加或者删除了。。。

13.对象的属性也可以是一个对象,跟java里面的属性可以是一个类一样。。。

今天就到这啦~华丽丽的分割线-------------------------------------------------------------------------------------


	

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值