js基本数据类型

JavaScript变量:

值可以改变的量称为变量;变量占据一段内存,通过变量名字可以调用内存中的信息JavaScript中的变量没有类型,即弱类型语言

变量的语法

var 代表声明变量 Var是variable的缩写

变量名:可以任意取名必须符合命名规则

变量名的注意事项

变量名必须使用字母或者下划线开始。

变量名必须使用英文字母、数字、下划线组成。

变量名不能使用JavaScript关键字与JavaScript保留字,而且不能使用javascript语言内部的单词,比如infinity,NaN,undefined。

变量的使用过程

变量可以先声明再赋值  ,变量可以重复赋值,可以通过变量名调用变量

数据类型


1.数字(Number) 类型   

1.1整型:不带小数点的数字。最多为17 位

  1.2浮点型 :带小数点的数字,小数点后面必须至少有一位数字

  1.3数值范围:极大或极小的数字可以通过科学(指数)计数法来书写:

  可以用isFinite()方法判断某个数值是否在最大值和最小值之间;

  var result = Number.MAX_VALUE +Number.MIN_VALUE ;

  alert(isFinite(result)); //true

  1.4NaN:属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

  特点: NaN本身有两个非同寻常的特点。

      1、任何涉及NaN的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。

             2、NaN与任何值都不相等,包括NaN本身。

      一旦在程序中出现:NaN。那么肯定进行了非法的运算操作。

 请使用isNaN()全局函数来判断一个值是否是 NaN值

2.字符串(String) 类型

定义:String(mix)函数, 用于表示由零个或多个16位Unicode字符组成的字符序列,即字符串。字符串可以有双引号(””)或单引号(‘’)表示。

直接量

定义:直接量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是直接量。

  2.1字符串直接量

var test="helloworld!“就是字符串直接量,test是变量名。直接量又叫字面量

       创建直接量的好处是最快的,其次是变量赋值。最后是通过函数调用获得的变量。

  2.2转义字符

定义:转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。

用法:对于某些特殊的字符,无法用键盘直接键入,这时就需要使用转义字符。还有一些字符用于特殊的用途,比如引号,如果要在字符串内包含引号,就需要使用转义字符。

注意:每一个转义字符都是以反斜杠“\”开始的。

  转义字符  字符

  \n  换行符    //alert(“你好!\n世界”);

  \r  回车符

  \"  双引号

  \‘  单引号

  2.3字符串的使用

字符串拼接(+)的方法:用"+"将两个字符串"相加"

字符串长度length属性:              var txt="Hello World!"       document.write(txt.length)


3.布尔(Boolean) 

定义:Boolean 对象只表示两个值:"true" 或 "false

4.Undefined类型

定义:undefined属性用于存放 JavaScript 的undefined 值,表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。

注意:undefined类型只有一个值,即特殊的undefined。

5.Null类型

定义:undefined属性用于存放 JavaScript 的undefined 值,表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。

定义:undefined属性用于存放 JavaScript 的undefined 值,表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。

注意:undefined类型只有一个值,即特殊的undefined。

6.对象(Object)

“万物皆对象”

 JavaScript中的所有事物都是对象:字符串、数值、数组、函数...

 在 JavaScript 中,对象是拥有属性和方法的数据。

 此外,JavaScript 允许自定义对象。


类型转换

 7.1各种类型转换为字符串               toString(radix)、String(mix)

  7.2各种类型转换为数字                 Number(mix)、parseInt(string,radix)、parseFloat(string)

  7.3各种类型转换为布尔值             Boolean(mix)


typeof操作符

定义:返回一个用来表示表达式的数据类型的字符串。

说明:typeof 运算符把类型信息当作字符串返回。

  语法:

  typeof   变量名;

Number(mix)

1.如果是布尔值, true和false分别被转换为1和0

2.如果是数字值,返回本身。

3.如果是null, 返回0.

4.如果是undefined, 返回NaN。

5.如果是字符串,

遵循以下规则:

 如果字符串中只包含数字, 则将其转换为十进制( 忽略前导0)

 如果字符串中包含有效的浮点格式, 将其转换为浮点数值( 忽略前导0)

 如果是空字符串, 将其转换为0

 如果字符串中包含非以上格式, 则将其转换为NaN

6.如果是对象,

则调用对象的valueOf()方法,

然后依据前面的规则转换返回的值。 如果转换的结果是NaN, 则调用对象的toString()方法,

再次依照前面的规则转换返回的字符串值。

varnum1=Number(“hello word”);//NaN  因为其中不包含任何有意义的数字值。

varnum1=Number(“”);  //0  

varnum1=Number(“000011”);  //11  忽略了前导的零

varnum1=Number(true);  //1

Number()函数转换字符串比较复杂而且不够合理

parseInt(string,radix)

• parseInt(string,radix)函数,

将字符串转换为整数类型的数值。它也有一定的规则:

1.忽略字符串前面的空格,

直至找到第一个非空字符 “ 12343”

2.如果第一个字符不是数字符号或者负号, 返回NaN  “a12344”

3.如果第一个字符是数字,

则继续解析直至字符串解析完毕或者遇到一个非数字符号为止  “1234blue”  转换为1234,”blue”完全忽略

4.如果上步解析的结果以0开头,

则将其当作八进制来解析; 如果以0x开头, 则将其当作十六进制来解析

5.如果指定radix参数,

则以radix为基数进行解析  

特点:直接查看是否符合数值模式,它会忽略字符串前面的空格,直至找到第一个非空格字符。如果第一个字符不是数字字符或者负号,parseInt()就会返回NaN。也就是说,用parseInt()转换空字符串会返回NaN。

parseFloat(string)

parseFloat(string)函数, 将字符串转换为浮点数类型的数值。

它的规则与parseInt基本相同, 但也有点区别: 字符串中第一个小数点符号是有效的, 另外parseFloat会忽略所有前导0,

如果字符串包含一个可解析为整数的数, 则返回整数值而不是浮点数值。

toString(radix)

toString(radix)方法。 除undefined和null之外的所有类型的值都具有toString()方法,

其作用是返回对象的字符串表示。

String(mix)

将任何类型的值转换为字符串, 其规则为:

如果没有toString()方法,

则调用该方法( 传递mix参数) 并返回结果。

 将mix转换成原始的字符串,并返回转换后的值。

Boolean(mix)

Boolean(mix)函数,

将任何类型的值转换为布尔值。

以下值会被转换为false:

false、 “”、

0、

NaN、 null、 undefined,

其余任何值都会被转换为true。

隐式转换

“+” 运算符   (拼接)

"-"运算符   “ -”      可以是一元运算符( 取负) , 也可以是二元( 减法运算) 的

你可能感兴趣的:(js基本数据类型)