javascript高级程序设计第三版 第三章 基本概念

3基本概念

3.3变量

var message; //未经初始化,默认为一个特殊值undefined
var message = "hi";  //初始化
var a=1,b="2",c=true;//定义多个变量,逗号分隔

var定义的变量是该变量的作用域中的局部变量

function test(){
    var message="hi";//局部变量
}
test();
alert(message);//错误!

省略var,message为全局变量,调用test()后就有定义,不推荐

function test(){
    message="hi";//全部变量
}
test();
alert(message);//错误!

3.4数据类型

5种简单数据类型:Undefined,Null,Boolean,Number,String
1种复杂数据类型:Object

3.4.1 typeof

typeof检测数据类型,对一个值使用typeof有可能返回的字符串:

  • “undefined” 未定义
  • “boolean” 布尔值
  • “string” 字符串
  • “number” 数值
  • “object” 对象或null
  • “function” 函数

3.4.2 Undefined类型

只有一个值,undefined。声明变量但未初始化时,就是此值。

3.4.3 Null类型

只有一个值,null。表示空对象指针,因此typeof返回”object”。

3.4.4 Boolean类型

两个值,true和false。

其他数据类型可转换为Boolean类型值,规则如下

数据类型转为true转为false
Booleantruefalse
String非空字符串“”(空字符串)
Number非零数值0和NaN
Object任何对象null
Undefined不适用undefined

例子,根据转换规则

var message="hello";
if(message){
    alert(message);
}

3.4.5 Number类型

浮点数值计算会有误差

if(a+b==0.3){ //不要做这样的测试
    alert("you got 0.3");
}

数值范围:Number.MIN_VALUE 至 Number.MAX_VALUE
超过返回:正或负Infinity Number.NEGATIVE_INFINITY Number.POSITIVE_INFINITY
isFinite()函数可检测是否在数值范围中

NaN 是特殊数值 任何数除以0返回NaN isNaN()函数检测 与任何值不相等,包括自身

数值转换:Number() parseInte() parseFloat()

3.4.5 String类型

3.4.5 Object类型

3.6.8 with语句

大量使用会导致性能下降,不建议使用

3.6.9 switch语句

switch语句可以使用任何类型
case不一定是常量,可以是变量,甚至是表达式
比较值时,使用全等操作符

3.7 函数

3.7.1 理解参数

命名的参数只是提供便利,但不是必需的。在函数中,arguments.length可知道参数长度,arguments[i]可访问参数,从0开始。

3.7.2 没有重载

通过检查传入函数中参数的类型和数量并作出不同的反应,可以模仿方法的重载。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值