JavaScript初探知识总结

JavaScript初探知识总结

一如既往的总结一下所了解到的新知识。
主要有四点:1:使用对象字面量、使用对象。2:相等和等同。3:数组问题。4:处理错误。5:undefined和null。

  • 使用对象字面量
    • JavaScript支持对象的概念,通过调用new Object()的方式创建对象。用对象字面量的方式可以一口气定义一个对象及其属性。代码如下:
<script type="text/javascript">
    var myData={
    name:"xch";
    weather:"sunny";
    printMessages:function(){
        document.writeln("hello"+this.name+".");
        document.writeln("today is "+this.weather+".");
    }
    };
    myData.printMessages();
</script>

结果

此例将一个函数变成了一个printMessage的方法,注意:在方法内部使用对象属性时要用到this关键字。

使用对象:
1. 读取和修改属性值。
2. 枚举对象属性:要枚举对象属性可以使用for…in语句

<script type="text/javascript">
    var myData={
    name:"xch";
    weather:"sunny";
    printMessages:function(){
        document.writeln("hello"+this.name+".");
        document.writeln("today is "+this.weather+".");
    }
    };
    for(var prop in myData){
        document.writeln("Name:"+prop+"/"+"Value:"+myData[prop]+"</br>");
    }
</script>

结果

解释一下:prop是属性名,myData[prop]是prop对应的属性值。
3.增删属性和方法
增加属性很简单:对象名.新属性名(新方法名)=“属性值”。
删除使用delete关键字:
delete myData.name;
delete myData[“weather”];
4.判断对象是否有某个属性
可以用in表达式判断对象是否具有某个属性。

var myData={
    name:"xch";
    weather:"sunny";
    printMessages:function(){
        document.writeln("hello"+this.name+".");
        document.writeln("today is "+this.weather+".");
    }
    };
var hasName="name" in myData;
var hasData="data" in myData;
document.writeln("HasName:"+hasName);
document.writeln("HasData:"+hasData);

在这里使用了一个已存在和一个不存在的属性进行测试。name存在,所以hasName的值为TRUE,data不存在,所以hasData为FALSE。

  • 相等的和等同运算符
    相等运算会尝试将操作数转换为同一类型以便判断是否相等。
    等同运算符会判断值和类型是否都相同。
var a=5;var c="5";
a==c;//TRUE
a===c;//FALSE

JavaScript基本类型(字符串和数值等内置类型)的比较是值的比较。
JavaScript对象的比较则是引用的比较。

对象的相等和等同测试:

<script type="text/javascript">
var a={
    name:"x",
    weather:"sunny",
};
var b={
    name:"y",
    weather:"raining",
};
var c=b;
var test1=a==b;
var test2=b==c;
var test1=a===b;
var test1=b===c;
document.writeln("test1:"+test1+"</br>"+"test2:"+test2+"</br>"+"test3:"+test3+"</br>"+"test4:"+test4+"</br>");
</script>

测试结果:

结果
基本类型的相等和等同测试:

<script type="text/javascript">
var a=5;
var b="5";
var c=b;
var test1=a==b;
var test2=b==c;
var test3=a===b;
var test4=b===c;
document.writeln("test1:"+test1+"</br>"+"test2:"+test2+"</br>"+"test3:"+test3+"</br>"+"test4:"+test4+"</br>");
</script>

测试结果:

结果

顺便说一下显示类型转换吧
转换为字符串

 (5).toString()+String(5);//结果为:55

转换为数值

var a="5";
var b="5";
Number(a)+Number(b);//结果为:10

补充:Number函数解析字符串值的方式很严格,在这方面parseInt和parseFloat函数更为灵活,后面两个函数会忽略数字字符后面的非数字字符。

函数说明
Number(str)通过分析指定字符串,生成一个整数或实数值
parseIn(st>)通过分析指定字符串,生成一个整数值
parseFloat(str)通过分析指定字符串,生成一个整数或实数值

- 数组问题
关于数组字面量以及读取和修改数组内容,我感觉和对象字面量和读取修改类似,不再多说。
数组的枚举使用for循环,也很简单,要确定数组中元素的个数可以使用其length属性。
重点记录一下内置的数组方法:

方法说明返回
concat(otherArray)将数组和参数所指数组内容合并为一个新数组。可指定多个数组数组
join(separator)将所有数组元素链接为一个字符串,各元素内容用指定的字符分隔字符串
pop()把数组当做栈来使用,删除并返回最后一个元素对象
push(item)把数组当做栈来使用,将指定的数据添加到数组中void
revese()就地反转数组元素的次序数组
shift()类似pop(),但操作的数组的第一个元素对象
slice(start,end)返回一个子数组数组
sort()就地对数组元素排序数组
unshift(item)类似push,但新元素被插入的数组的开头位置void

- 处理错误
JavaScript用try…catch语句处理错误。结构:

try{
//程序语句
}catch(e){
//程序语句
}

如果没有错误,执行try{}内语句,如果有错误则执行catch里面的语句。
如果不管是有没有错误都要执行一些语句,再加上一跳finally子句即可。

try{
//程序语句
}catch(e){
//程序语句
}finally{
//程序语句
}
  • undefined和null
    在读取为赋值的变量或试图读取对象没有属性时得到的就是undefined。
    null:用于表示已经赋值但是这个值并不是一个有效的object、string、number或boolean值,也就是说定义了一个 无值 (no value)。
    区分undefined和null
    如果想要同等对待undefined值和null值,使用相等运算符(==),让JavaScript进行类型转换。
    如果想要区分undefined值和null值,使用等同运算符(===)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值