5.1 概述

基本类型5

number          数字类型

string             字符串类型

undefined      undefined类型,变量未定义时的值,这个值自己是一种类型

boolean     布尔类型,仅有两个值true 和 false,讲if语句时我们细说

null               null类型,这个值自己是一种类型,遇见时我们细说

引用类型

讲到再说

至于什么是引用类型,我们到时候见到再说。

5.2 typeof关键字

这个关键字,用来检测一个变量的类型。

1    var a = 100;

2    console.log(typeof a);


5.3 number类型

所有的数字都是number类型

1   
    <script
type="text/javascript">

2   
       //下面定义的变量都是number类型

3   
       var
a = 100;

4   
       var
b = 234243245345;

5   
       var
c = -345345435435;

6   
       var
d = 345.3245234;

7   
       var
e = .5e6;

8   
       var
f = 0xff;

9   
       var
g = 017;

10  
       var
h = Infinity;

11  
       var
i = NaN;

12

13  
       console.log(typeof
a);

14  
       console.log(typeof
b);

15  
       console.log(typeof
c);

16  
       console.log(typeof
d);

17  
       console.log(typeof
e);

18  
       console.log(typeof
f);

19  
       console.log(typeof
g);

20  
       console.log(typeof
h);

21  
       console.log(typeof
i);

22  
    </script>

JS中所有的数字都是number类型的,不在细分为整形int、浮点型float这些乱七八糟的东西。

number类型的东西:所有数字(不分正负、不分整浮、不分大小、不分进制)、InfinityNaN

5.4 string类型

1           var m1 = "哈哈";

2           var m2 = "123";

3           var m3 = "";      //空字符串,也是字符串

4           console.log(typeof m1);

5           console.log(typeof m2);

6           console.log(typeof m3);


这个变量是什么类型,和赋的值有关系,而和定义的时候是没有关系的。定义的时候,都是用var
关键字定义的。

1   
       var
mm = 123;  //number

2   
       console.log(typeof
mm);

3   
       mm
= "哈哈";  //改为string是合法的

4   
       console.log(typeof
mm);

我们说js这个语言叫做动态数据类型,原因就在这里,就是赋值的时候就决定这个变量的类型了。甚至可以改变这个变量的值,为其他类型的值。变量的类型是自动检测的,而不是人规定的。

5.5 undefined类型

之前说过,一个变量只var过,没有赋初值,它的默认值是undefined;

这个undefined是自成一家,自己是自己的类型,它的类型也叫作undefined。undefined类型的值就只有undefined一个。

1    var nn;   //我只定义了,没有赋初值,所以就是undefined,类型也是undefined

2    console.log(nn);

3    console.log(typeof nn);

5.6 加号

加号是一个运算符,我们先提前说一下。

加号两边都是数字的时候,那么就是数学加法;两边不都是数字的时候,那么就是连字符,结果是字符串。

1    console.log("你" + "好");

1    console.log(1 + "2");

因为2被引号引起来了,所以就是字符串,所以+就是连字符

1    var a = "1";

2    var b = "2";

3    console.log(a + b);

1    var a = 1;

2    var b = 2;

3    console.log("a" + b); //a2

多个加号,从左算到右:

1    var a = 1;

2    var b = 2;

3    var c = 3;

4    console.log("a" + a + b + "c");

1    var a = 1;

2    var b = 2;

3    var c = 3;

4    console.log(a + b + "c");

欧克了,下面附上代码

变量还是字符串

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script type="text/javascript">
// var a = 100;
// console.log("a"); var a = "我爱中国";
console.log(a);
</script>
</head>
<body> </body>
</html>

typeof检测类型

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script type="text/javascript">
//下面定义的变量都是number类型
// var a = 100;
// var b = 234243245345;
// var c = -345345435435;
// var d = 345.3245234;
// var e = .5e6;
// var f = 0xff;
// var g = 017;
// var h = Infinity;
// var i = NaN; // console.log(typeof a);
// console.log(typeof b);
// console.log(typeof c);
// console.log(typeof d);
// console.log(typeof e);
// console.log(typeof f);
// console.log(typeof g);
// console.log(typeof h);
// console.log(typeof i); //以下都是字符串类型的
// var m1 = "哈哈";
// var m2 = "123";
// var m3 = ""; //空字符串,也是字符串
// console.log(typeof m1);
// console.log(typeof m2);
// console.log(typeof m3); // 动态数据类型
// var mm = 123;
// console.log(typeof mm);
// mm = "哈哈";
// console.log(typeof mm); // undefined
var nn;
console.log(nn);
console.log(typeof nn);
</script>
</head>
<body> </body>
</html>

加号的意义

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script type="text/javascript">
// console.log("你" + "好");
// console.log(1 + 2); //3 // console.log(1 + "2"); //12 // var a = "1";
// var b = "2";
// console.log(a + b); //12 // var a = 1;
// var b = 2;
// console.log("a" + b); //a2 // var a = 1;
// var b = 2;
// var c = 3;
// console.log("a" + a + b + "c"); var a = 1;
var b = 2;
var c = 3;
console.log(a + b + "c");
</script>
</head>
<body> </body>
</html>

欧了,下一篇。

前端-JavaScript1-5——JavaScript之变量的类型的更多相关文章

  1. JavaScript中变量的类型

    变量的类型是指变量的值所属的数据类型,可以是数值型.字符串型和布尔型等,因为JavaScript是一种弱类型的程序语言,所以可以把任意类型的数据赋值给变量. 下面是一个关于变量类型的例子.在这个例子中 ...

  2. 前端知识体系:JavaScript基础-变量和类型

    前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用.可手动实现一个简单的 Symbo 4. ...

  3. JavaScript基础系列(变量与类型)

    以下内容将JavaScript简称为JS 打开本文时不管你是零基础的初学者还是其他语言的老兵,我都想说程序语言的基础支撑起了整个网络世界,不把这些基础学透之后稍复杂的内容会让你寸步难行. 现在先给编程 ...

  4. JavaScript使用构造函数获取变量的类型名

    在JavaScript中,如何准确获取变量的类型名是一个经常使用的问题. 但是常常不能获取到变量的精确名称,或者必须使用jQuery 中的方法,这里 我通过 typeof ,jQuery.type 和 ...

  5. JS面试题-<变量和类型>-JavaScript的数据类型

    前言 整理以前的面试题,发现问js数据类型的频率挺高的,回忆当初自己的答案,就是简简单单的把几个类型名称罗列了出来,便没有了任何下文.其实这一个知识点下可以牵涉发散出很多的知识点,如果一个面试者只是罗 ...

  6. javascript中检测一个变量的类型

    /** * 怎么检测一个变量的类型? * 在js中检测对象类型主要有三种:typeof, instanceof, constructor, 这几种都可以检测对象的类型. * 另外还可以适应jQuery ...

  7. 玩转JavaScript OOP[0]——基础类型

    前言 long long ago,大家普遍地认为JavaScript就是做一些网页特效的.处理一些事件的.我身边有一些老顽固的.NET程序员仍然停留在这种认知上,他们觉得没有后端开发肯定是构建不了系统 ...

  8. Python开发【前端】:JavaScript

    JavaScript入门 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本 ...

  9. JavaScript 中变量、作用域和内存问题的学习

    这是我学习JavaScript的第二篇文章,之前做过几年的Java开发,发现JavaScript虽然也是面向对象的语言但是确实有很多不同之处.就本篇博客,主要学习总结一下最近学习到的JavaScrip ...

随机推荐

  1. 『TensorFlow』降噪自编码器设计

    背景简介 TensorFlow实现讲解 设计新思路: 1.使用类来记录整个网络: 使用_init_()属性来记录 网络超参数 & 网络框架 & 训练过程 使用一个隐式方法初始化网络参数 ...

  2. JavaScript中的label语句,及应用

    label语句:可以在代码中添加标签,以便将来使用. 语法:label : statement 示例: start: for(var i=0;i<10;i++){ console.log(i); ...

  3. two week summary

    from collections import Iteratorfrom collections import Iterabl dic = {'a':"a","91a&q ...

  4. 线程基础:多任务处理——MESI协议以及带来的问题:伪共享

    1.概述 本文和后续文章将着眼CPU的工作原理阐述伪共享的解决方法和volatile关键字的应用. 2.复习CPU工作原理2.1.CPU工作原理要清楚理解本文后续内容,就需要首先重新概述一下JVM的内 ...

  5. 笨办法30Else 和 If

    people = 30 cars = 40 trucks = 30 if cars < people: print "We should take the cars." el ...

  6. ipone 5s上,字体rem遇到的问题

    webapp中,12px的字体,利用rem实现自适应布局, 发现只有在ipone 5s中字体超大, 这两个class元素中字体一样大小,发现上面元素字体在ipone 5s中很大, 后来验证问题在哪里, ...

  7. 高级数据类型--字典(dict)

    一.字典介绍 dict(字典) 是 除列表以外 Python 之中 最灵活 的数据类型.字典同样可以用来 存储多个数据,通常用于存储 描述一个 物体 的相关信息 和列表的区别: 列表 是 有序 的对象 ...

  8. 理解微信小程序的生命周期和运行原理

    写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决.小助君公众号带你学习小程序的生命周期和运行原理. 小程序由两大线程组成:负责界面的线程(view thread)和服务线 ...

  9. ADO.NET 的五个对象

    首先来一张关系图,了解大概关系. 知道了整个大关系之后,我们在具体看一下他们五个的分工: 1. SqlConnection 在访问数据时,我们首先必须要建立数据库的物理连接.· 2.SqlComman ...

  10. What is the RESTful API ?

    REST 是 RepresentationalStateTransfer 的缩写,一般中文译为 “表征状态转移”,Roy Thomas Fielding 在他2000年的PhD论文中发明了这个概念.首 ...