您的位置:首页 > Web前端 > JavaScript

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

2017-08-14 17:38 351 查看

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 没有重载

通过检查传入函数中参数的类型和数量并作出不同的反应,可以模仿方法的重载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript