JAVASCRIPT数据类型和常用方法

1.背景介绍

数据类型

JavaScript有五种基本数据类型:

字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)

一种复杂数据类型:

Object 对象

2.知识剖析

UNDEFINED

undefined类型只有一个值,即undefined。 在使用var声明变量但未对齐进行初始化时。这个变量的值就是undefined.

NULL

Null类型也同样是只有一个值的数据类型。值为null。 null值表示一个空对象指针。 如果定义的变量准备在之后保存一个对象,那需要将该变量保存为null值。

BOOLEAN

boolean类型只有两个字面值true和false。

但是在JavaScript中所有类型的值都有与这两个boolean值等价的值。 可以使用转型函数Boolean(),将一个值转换为相应的boolean值。

只需记住以下几个值转换为false,其他的都为true。

false

"" 空字符串

0和NaN

null

undefined

 

NUMBER

整数 var a = 11; var b = 0xA; //16进制的10

浮点数值 所谓浮点数则是在数值中包含一个小数点,并且小数点后至少有一位数字。 var a = 1.1; 由于保存浮点数值需要的内存空间是保存整数的两倍,所以在js中如果小数点后面没有数字或者浮点数值本身表示一个整数,那么这个值就会被转换为整数。 比如:var b = 1.; var c = 1.0;

在js中最小数值Number.MIN_VALUE,在大多数浏览器这个值为5e-324; 最大数值为Number.MAX_VALUE,在大多数浏览器中为1.7976931348623157e+308; 如果在计算中某一次结果得到了一个超过js数值范围的值,那么这个值将被自动转换为Infinity,即正无穷;如果这个值是负的则为-Infinity,即负无穷。

因为在js中正负无穷不是能够参与计算的数值,所以在某些情况我们需要确定一个数值是否是有穷的。 需要使用isFinite函数,这个函数如果参数在最小与最大数值之间则会返回true。

NaN值,即非数值(not a number)。 这个数值用来表示一个本来要返回数值的操作未返回数值的情况。

NaN本身有两个特点: 任何涉及NaN的计算都会返回NaN。 NaN与任何值都不相等,包括NaN本身。 NaN == NaN //这个返回值是false.

使用isNaN()函数来判断参数是否为NaN。 isNaN()接收到一个参数后,会尝试将这个值转换为数值,任何不能被转换为数值的值都会返回true。

isNaN(NaN) //true

isNaN(10) //false

isNaN("10") //false

isNaN("ABC") //true

字符串

字符串是存储字符(比如 "Bill Gates")的变量。 字符串可以是引号中的任意文本。可以使用单引号或双引号

var a = "abc"; var a ='abc';

使用双引号表示的字符串和单引号表示的字符串完全相同,但是以双引号开头的字符串也必须以双引号结尾。 而以单引号开头的字符串必须以单引号结尾。 var a = 'abc"; 这样左右引号不匹配的会产生语法错误

STRING类型的特点

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

var a = "abc"; a = a + "d";

可以使用toString方法将一个值转换为字符串。 var age = 11; var b = age.toString(); //这样就获得了一个字符串"11"

在不知道要转换的值是否null or undefined的情况下,可以使用转型函数String(),这个函数能够将任何类型的值转换为字符串

它遵循以下转换规则:

如果值有toSring方法,则调用该方法返回相应的结果; 如果值为null,则返回"null"。undefined亦然。

var a = true;

var b;

alert(String(a));//弹出"true"

alert(String(b));//弹出"undefined"

OBJECT

js的对象就是一组数组和功能的集合 可以通过执行new操作符后跟要创建的对象类型的名称来创建。 对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔

var person={firstname:"John", lastname:"Doe", id:5566}; 例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。 调用对象中的属性有两种方式。

name=person.lastname;

name=person["lastname"];

3.常见问题

如何判断数值类型

4.解决方案

可以使用typeof操作符来检测变量的数据类型。 它会返回undefined、boolean、string、number、object、function。 对null会返回object。

5.编码实战

 

6.扩展思考

1、数组属于那种数据类型?

var a=[]; alert(typeof a)

//Object

2、值传递是什么?

当我们使用=将这些变量赋值到另外的变量,实际上是将对应的值拷贝了一份,然后赋值给新的变量。我们把它称作值传递

3、对象是通过什么传递的?

对象是通过引用传递,而不是值传递。也就是说,变量赋值只会将地址传递过去。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值