JS(JavaScript)

数据类型;


1.原始类型;


  • number类型;

实为数字JS不区分整数和浮点类型;
整数类型;包括负整数,0和正整数;
浮点类型表示小数

/*
    number类型:整数(Intger)和浮点数(小数 | float或double)
    * JavaScript并不区分整数与浮点数
 */
var num = 100;/* 1.变量的定义并初始化;2.字面量或直接量定义数字值 */
  • 浮点类型;`

是只该数值包含整数部分,小数部分,小数点和小数部分

var num = 0.1;
console.log(num);
/*浮点类型, (.1)等于(0.1)的含义;不推荐使用*/
var num1 = .1;
console.log(num1);

var num2 = 10.1;
console.log(num2);

var num3 = 10.0;
console.log(num3);
/*浮点类型;(.0)表示整数*/
var num4 = 10.;
console.log(num4);
/*浮点类型;(.)表示整数*/
  • 误差;`

只能表示游戏的个数

var x = 0.3;
var y = 0.2;
console.log(x - y);//0.1

/*number类型的小数,在计算可能会有误差
* 不是所有的小数计算都会有误差
* 以数字值换算,将换成整数计算并将结果为小数
*/
  • NaN;`

他是个特殊的数值,表示该值与任何值不想等,包括自身

var num = Number('爱新觉罗');//将一普通文本内容转换为Number类型
console.log(num);/*NaN*///这不是个数字值
/*NaN在Number类型里是个特殊值
* 该值不是个数字值;
* 而它还是个Number类型
* NaN不等于自身和任何值*/
console.log(10 == 10);//true
console.log(NaN == NaN);//false
  • string类型;`

是由零或多个16位Unicode字符组成字符序列
用'双引号'和'单引号'来表示

var str1 = '爱新觉罗';
var str2 = '爱新觉罗';
console.log(str1);
 /*string类型;JS(JavaScript)字符串是由单引号和双引号包裹当中
  JS(JavaScript)中的双引号与单引号没什么区别,建议用单引号
  */
var str3 = '"爱新觉罗"是清朝皇室家族';
console.log(str3);
var str4 = '"爱新觉罗"是清朝皇室家族';
console.log(str4);
/*string类型;文本是需要用单引号或双引号
 如果是需要双引号;字符串只能用单引号
 如果是需要单引号;字符串只能用双引号
 */
  • boolean(布尔)类型;`

有两个值,是以布尔类型的true;false,来表示

var boo = true;
console.log(boo);
  /*boolean类型;只有两个值:
 1.true:真的;2.false:假的
    这两值小写
   */
var boo1 = TRUE;
console.log(boo1);
/*大写和大小写混合;JS(JavaScript)识别另一变量名称*/

2.typeof运算符;


是定义为给JS检测给定变量的数据类型

var num = 100;
var boo = true;
var str = '爱新觉罗';
/*
 typeof运算符;判断原始类型
 语法结构;typeof变量名称
 原始类型名称(string类型)
*/
console.log(typeof num);// number
console.log(typeof boo);// boolean
console.log(typeof str);// string
var result = typeof num;
console.log(result);// number
console.log(typeof result);// string

3.包装类型;


  • Number类型;

是原始类型number类型对应的包装类型

/*
  通过包装类型创建个数字值类型的变量
  var 变量名称 = new Number(数字值)
  new Number();创建了个Number类型对象
  以下两种方式创建的数字值,在使用时没什么区别
 */
/* 构造函数方式 */
var num1 = new Number(100);
console.log(num1);/* [Number: 100] */
/* 字面量/直接量方式 */
var num2 = 100;
console.log(num2);/* 100 */

console.log(typeof num2);// number
console.log(typeof num1);// object(对象)
  • String类型;

是原始类型string类型对应的包装类型

var str = new String('爱新觉罗');
console.log(str);
var str1 = '爱新觉罗';
console.log(str1);
  • Boolean类型;

是原始类型boolean类型对应的包装类型;

var boo1 = new Boolean(true);
console.log(boo1);

var boo2 = true;
console.log(boo2);

4.instanceof运算符;


左操作数一个包装类型变量,右操作是对应的数据类型;
左侧的变量是右侧的数据类型;册返回true;否则返回false

var str = new String('爱新觉罗');
var num = new Number(100);
var boo = new Boolean(true);
// typeof运算符只能判断原始类型
console.log(typeof str);// object
console.log(typeof num);// object
console.log(typeof boo);// object
// instanceof运算符用于判断引用类型(包装类型)
console.log(str instanceof String);// true
/*instanceof运算符
  用于判断引用类型(包装类型)
  语法结构不同;变量名称;instanceof 引用类型名称
  得到结果不同;布尔类型的值(true或false)
 */

5.特殊类型;


  • undefined类型;

表示变量声明但未被赋值,是所有未赋值变量默认值,并且很少使用

var v;
console.log(v);

var c = undefined;
console.log(c);

console.log(typeof v);// undefined - 类型名称
/*
  undefined;在JS(JavaScript)实为空的含义
  如一个变量值等于undefined;变量是存在的,没有值
  undefined类型值只存在一个值(undefined)
  定义变量时;只声明,而不初始化值;undefined
  定义变量时;初始化值为 undefined;undefined
  注意;得到undefined值情况不止以上两种
*/
  • null类型;

表示一个没有任何内存地址的变量,也可能指向个具体内存地址,一般用于释放资源
var v = null;
/*用于变量从内存里释放出来
  指定变量值赋值为null
  只有有一个null值
 */
console.log(typeof v);// object
/*以下结果是错的*/
// console.log(v instanceof Null);// 结果为报错
console.log(v instanceof Object);// false

佐珥玎
41 声望8 粉丝