第二天学习(基本概念,变量、控制流)

本文详细解析了JavaScript中的变量作用域、数据类型及其特性,包括基本数据类型(Undefined、Null、Boolean、Number、String)和复杂数据类型(Object),以及typeof运算符的使用。同时介绍了自动类型转换、NaN的特性以及字符串类型的基本概念。

1) ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据

2) var 操作符定义的变量将成为定义该变量的作用域中的局部变量

[javascript]  view plain copy
  1. function test(){  
  2.     var message = "hi"// 局部变量  
  3. }  
  4. test();  
  5. alert(message); // 错误!  

3) 数据类型

5 种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number
和String。还有1 种复杂数据类型——Object

typeof 判断数据类型  typeof null = "object",因为特殊值null 被认为是一个空的对象引用

Undefined:

Null: 如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null 而不是其他值

undefined 值是派生自null 值的

alert(null == undefined); 

Boolean: 

var message = "Hello world!";
if (message){
alert("Value is true");
}

等价于

if(Boolean(message))

存在自动类型转换

Number: 

由于保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript 会不失时机地将浮点数值
转换为整数值。显然,如果小数点后面没有跟任何数字,那么这个数值就可以作为整数值来保存

浮点数值的最高精度是17 位小数,但在进行算术计算时其精确度远远不如整数。例如,0.1 加0.2
的结果不是0.3,而是0.30000000000000004


NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数

未返回数值的情况

a. 任何涉及NaN 的操作(例如NaN/10)都会返回NaN

b. NaN 与任何值都不相等,包括NaN 本身

isNaN()

isNaN()确实也适用于对象。在基于对象调用isNaN()
函数时,会首先调用对象的valueOf()方法,然后确定该方法返回的值是否可以转
换为数值。如果不能,则基于这个返回值再调用toString()方法,再测试返回值。


String:

String 类型用于表示由零或多个16 位Unicode 字符组成的字符序列

ECMAScript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变
某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量,


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值