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。

隐式转换

“+” 运算符   (拼接)

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容

  • js中数据类型分为两种,第一种基本的数据类型:Number,String,Boolean,Null,Undefie...
    vins_lu阅读 865评论 0 0
  • Javascript提供五种简单的数据类型,与一种较为复杂的数据类型。 简单数据类型 undefined在使用va...
    Miss____Du阅读 22,055评论 4 54
  • 1.Undefined Undefined是全局对象window的一个特殊属性,顾名思义就是未定义的意思;Unde...
    5fac3474ba49阅读 77评论 0 0
  • JS介绍js的历史在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成为Web时代开启时最著名...
    鲁大师666阅读 655评论 0 2
  • 一直想知道,对于自己来说,什么样的人生才是自己想要的?但对于这个问题,一直说不出任何一个答案! 有人说在经历了一...
    帆紫阅读 282评论 0 0