美文网首页
变量和数据类型

变量和数据类型

作者: coderzwx | 来源:发表于2020-08-07 15:22 被阅读0次

一.直接量(字面量)

字面量:英语叫做literals,也做直接量。看见什么,它就是什么。

1. 数字的字面量

数字的字面量,就是这个数字自己

1.1 整数

三种进制

整数可以被表示成十进制(基数为10)、十六进制(基数为16)以及八进制(基数为8)

10进制:十进制整数字组成的数字序列,

8进制:带前导0、0O、0o 的整数字面值表明它是八进制。八进制整数只能包括数字0-7。

16进制:如带前导0x,0X开头的就是十六进制。十六进制整数可以包含(0-9)和字母 a-f 或 A-F

// 八进制  最终显示是以十进制方式显示
alert(015)   // 1*8 + 5  =  13
alert(017)     // 1*8 + 7 *1 =15
alert(0o21)     // 2*8 + 1 *1 =17
alert(0O21);    // 2*8 + 1 *1 =17

八进制0-7这八个数字,如果小时不合法,js还自动给你转成10进制,转不了就报错

console.log(088);  //88
// 按理说以0开头是八进制,但是后面数字写错了,所以以十进制方式限制

如果以0o或0O开头的八进制将报错

console.log(0o88);  // 报语法错误
console.log(0O88);   // 报语法错误
1.2 浮点数(小数或指数)

小数的字面量也很简单,就是数学上的点。计算机世界中,小数称为“浮点数”。

浮点数字面值可以有以下的组成部分:

一个十进制整数,它可以带符号(即前面的“+”或“ - ”号),如果整数部分是0可以不写

一个小数点

一个小数部分(由一串十进制数表示),

一个指数部分

console.log(3.14159269);
console.log(5e4);       //50000
console.log(5e-4)       //0.0005

注意:

只有十进制有小数的字面量,八进制、十六进制没有小数的字面量。所以小数没有进制之分

1.3 特殊字面量

Infinity 无穷大

Infinity 用于存放表示正无穷大的数值。

-Infinity 用于存放表示负无穷大的数值。

console.log(3e31415926);     // Infinity

NaN

英语全名叫做not a number,不是一个数。

console.log(0/0);   // NaN
1.4 总结一下,
  • 数字字面量有整数字面量(十进制、16进制、八进制),

  • 浮点数字面量(要记住e),

  • 特殊字面量:Infinity,NaN

2. 字符串的字面量

字符串是一个术语,说白了就是我们人说的话。

2.1 字符串字面量的书写方式

字符串的字面量有限定符,就是必须用双引号、单引号包裹起来。字符串被限定在同种引号之间;也就是说,必须是成对单引号或成对双引号。

console.log("今天你好帅哦");
2.2 特殊字符

在字符串中可以使用一些特殊字符,他们有特定的含义

\n New line 换行符
\t Tab tab缩进

但是可以使用字符串中可以使用转义字符,

' 单引号
\” 双引号
\ 反斜杠

二.变量

变量(Variables),和高中数学中的x、y、z很像,它们此时不是字母,而是蕴含值的符号。

什么是变量呢?

就是值可以变化的符号,能够存储JS不同数据类型的值

1. 变量声明

使用关键词var

var a;  // 声明一个变量a

所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开.

2. 变量命名规则

变量的名字就是标识符(identifiers),任何标识符的命名都需要遵守一定的规则:

JS中标识符的定义规则,可先理解为变量的规则,以后我们还会接触到其他标识符

  • 由字母、下划线(_)、美元($)符号、数字(0-9)组成

  • 但不能以数字开头

    也就是说,一个标识符必须由字母、下划线、美元符号开头,后续可以有字母、下划线、美元符号、数字

  • 严格区分大小写

    所以A和a不是同一个变量

  • 不要使用中文变量名

  • 不能使用关键字和保留字

    关键字=>js已经赋予特殊功能的字 保留字=>js预订可能未来要使用的字

关键字:

JS语法中有特殊意义的词

break、else、new、var、 case、 finally 、 return、 void 、 catch 、for 、switch 、 while 、 continue、 function 、this 、 with 、default 、 if 、 throw 、 delete 、 in 、 try 、do 、 instranceof、 typeof

保留字:

JS语法中现在不存在,但是以后会成为关键字的单词(替补关键词)

abstract 、 enum 、int 、 short 、 boolean 、export 、interface、 static、 byte 、extends 、 long 、 super 、 char 、 final 、native 、synchronized 、 class 、float 、 package 、throws 、 const 、goto 、private 、transient 、 debugger 、 implements 、protected 、 volatile 、 double 、import 、public

3. 变量的赋值

等号表示赋值,会将等号右边的值,赋给左边的变量。。

var a;      //定义
a = 200;    //赋初值
console.log(a);

运行结果:200

3.1 可以将变量定义和赋值写在一起
var a = 200;
3.2 定位变量未赋值

用 var 声明的未赋初值的变量,值会被设定为undefined

var a ;
console.log(a);

注意:

变量只需要var一次,今后更改变量的值,无需重复var,如果多次定位也 不会报错

4. 变量声明的提升

JavaScript 变量的另一特别之处是,你可以引用稍后声明的变量,而不会引发异常。这一概念称为变量声明提升.JavaScript 变量感觉上是被“举起”或提升到了所有函数和语句之前。然而提升后的变量将返回 undefined 值,所以即使在使用或引用某个变量之后存在声明和初始化操作,仍将得到 undefined 值。

5. 不写var的情况呢

我们可以直接使用一个变量,直接给它赋值,不写var。系统不会报错,但是这样做,以后你会发现有后遗症:这个变量不是局部变量,而是一个全局变量。

a = 33;
console.log(a);

7. 同时定义多个变量

定义多个变量时,中间用逗号隔开

var a = 7 , b = 9 , c = 10;

8. 区分变量还是直接量

变量的时候,不能加引号。如果变量加上引号,就变成字符串的直接量了。

var a = 200;
console.log("a");     //a

引号是“字符串”的定界符,所以在双引号里面的a已经失去了变量的意思,就是一个字符串a。

三. 数据类型

JavaScript中的值,无论是字面量还是变量,都有明确的类型。

1. 概述

1.1 基本类型5种

number 数字类型

string 字符串类型

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

undefined undefined类型,这中类型值只有一个,就是undefined

null null类型,这种类型的值也就只有一个null,之后在说

1.2 引用类型

{ } 普通的对象

[ ] 数组对象

function 函数对象

学到了在讲

2. 数据类型的检测

使用typeof关键字检查数据类型,通常用来检测变量的类型,以为直接量的类型一眼就看的出来

检测出的数据类型是以字符串形式呈现的

console.log(typeof 123);       //number
console.log(typeof "haha");       //string

四. 运算符:加号 +

我们先讲一个运算符加号,因为它比较特殊,我们先讲

加法运算符(+)在设计数字和字符串运算的表达式中,JavaScript 会把数字值转换为字符串。

在其它类型数据运算时,JavaScript语言不会把数字变为字符串。

五. 数据类型转换

1. 转 number

有一些方法可以将内存中表示其他数据类型转换为对应的数字

  • Number()

    1. string "12px" => NaN “” => 0
    2. boolean true => 1 false => 0
    3. null null => 0
    4. undefined undefined => NaN
    Number('wuwei')
    
  • parseInt()

    parseInt 仅能够返回整数,所以使用它会丢失小数部分

    parseInt("250px")     //250
    

    另外,调用 parseInt 时最好总是带上进制(radix) 参数,这个参数用于指定使用哪一种数制。

    parseInt(17,8);      // 15
    
  • parseFloat()

    parseFloat就是将字符串转为浮点数

    尽可能的将一个字符串转为浮点数

     console.log(parseFloat(123.456.888));   //123.456
    

    也就是说,数字类型都是number,不分整数和浮点数,但是转换的+时候分。

  • **正负运算符 **

    console.log(+'88');
    

    正负号转换为数字是内部调用为了Number方法

2. 转 string
  • + 号运算符

    将一个数字,与一个空字符串进行连字符运算,那么就是自动转为字符串了。

    var a = 123;
    var b = a + "";
    console.log(b);
    console.log(typeof b);
    
3. 转 boolean
  • Boolean() 方法

    只有六种情况Boolean(被转换的数据)的结果是false,其余全是true

    1. 0 数字0
    2. NaN 数字NaN
    3. "" 空字符串
    4. false 布尔值false
    5. undefined undefined类型
    6. null null类型

    用的不多了解几个,大多用隐式转换,这个后面会将,先了解

今天遇见的所有API:

alert("您好");

prompt("请输入数字","默认值");

console.log("您好");

Number(“33”)

parseInt("250",8);

parseFloat("250.666");

Boolean("")

相关文章

  • C语言基础

    C 变量: 变量的数据类型: 变量按照数据的分类分为整数和浮点数 不同变量的数据类型是不同的 数据类型有整型,浮点...

  • Python学习记录

    变量、运算符与数据类型 注释: 运算符 变量和赋值 数据类型与转换

  • Kotlin 数据之本变量

    变量和常量用来存储数据和传递数据,类型则用来描述变量和常量保存的是什么样的数据类型。 数据类型 变量和常量都有数据...

  • 探究final在java中的作用

    一. final修饰变量 1. 基础: final修饰基本数据类型变量和引用数据类型变量. 相信大家都具备基本的常...

  • Go之旅-变量

    Go语言变量有固定的数据类型,决定了变量内存的长度和存储格式。Go变量只能修改变量值,不能改变变量的数据类型。Go...

  • JAVA基本常识

    一、基本数据类型和引用数据类型的变量的创建都通过如下方式----> 数据类型 变量名=初始化值;其中,引用数据类型...

  • 变量及数据类型

    变量及数据类型学习要点 变量的含义 变量的使用方法 常见的数据类型 变量的命名规则 赋值运算符和“+” 占位符 接...

  • Python基础语法

    输入输出 数据类型和变量

  • js面试题

    1、js 数据类型 基本数据类型 引用数据类型 2、js 变量和函数声明的提升 在js中变量和函数的声明会提升到最...

  • 说一下“==”和equals方法的区别

    == 是用来判断两个变量直接的值是否相等,变量就可以分为基本数据类型变量和引用类型变量。如果是基本数据类型的变量,...

网友评论

      本文标题:变量和数据类型

      本文链接:https://www.haomeiwen.com/subject/gdlprktx.html