4

【JS】大道至简---来看看JS中你最熟悉的变量和数值的知识吧

 1 year ago
source link: https://blog.51cto.com/u_15807146/5805243
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

1.1 什么是变量?

变量就是一个装东西的盒子。变量是用于存放数据的容器。我们通过变量名获取数据,数据可以被更改。

1.2 声明变量

1.2.1 定义单个变量

js通过var来声明变量,var是一个JS关键字,用来声明变量(Variable变量的意思),使用该关键字声明变量后,计算机会自动会变量分配内存空间,不需要程序员管。程序员只需要通过变量名获取数据。

var age = 3;

计算机会为age分配一个空间,而程序员则可通过age拿到3的数据。

1.2.2 声明多个变量

程序员不需要像下面这般一行一行的定义

var age = 14;
var name = "youtanzhi";
var sex = 'male';

而可以在一行里同时定义,只需要用逗号隔开

var age = 14,name = "youtanzhi",sex = 'male';

1.2.3 声明变量的特殊情况

  1. 只声明 不赋值 结果是undefined
  2. 不声明不赋值,报错
  3. 不声明直接赋值 是可以使用的(全局变量)
<script type="text/javascript">
var age;
console.log("我是只声明为赋值的变量:"+age);
username = "张三";
console.log("我是未声明直接赋值的变量"+username);
console.log("我是未声明未赋值的变量"+pl);

</script>
【JS】大道至简---来看看JS中你最熟悉的变量和数值的知识吧_JavaScript

1.3 变量的命名规范

  • 由字母(A-Z,a-z),数字(0-9)、下划线(_),美元符号($)组成,如userAge,num01;
  • 严格区分大小写,var App和var app是两个变量
  • 不能以数字开头,22username 是错误的
  • 不能是关键字保留字。例如:var、for、while
  • 变量名必须有意义。也就是尽可能是英文单词,推荐翻译网站:有道、爱词霸
  • 采用驼峰命名法,首字母小写,后面单词的首字母需要大写 如youTanZhi
  • 不要使用name

2.1 简介

2.1.1 为什么需要数据类型

不同数据占据的空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。

2.1.2 变量的数据类型

  • js的变量数据类型只有程序在运行过程中,根据等号右边的值来确定的
  • js是动态语言,变量的数据类型是可以变化
var x = 6;
x = "Bill";

如上,本来是数值型,后来变成了字符型。

2.2 简单数据类型

2.2.1 简单数据类型

简单数据类型

Number

数字型,包含整型值和浮点型值,如21、0.21

Boolean

布尔值类型,如true、false,等价于1和0

false

String

字符串型,如“游坦之”

Undefined

var a;声明了变量a但是没有给值,此时a=undefined

undefined

var a = null;声明了变量a为控制

2.2.2 数值型 Number

2.2.2.1 八进制和十六进制
  • 八进制前面加0,如010,就代表八进制的10
  • 十六进制前面加0x,如0x11 就代表十六进制下的11
2.2.2.2 最值
  • 数值型的最大值 Number.MAX_VALUE
  • 数值型的最小值 Number.MIN_VALUE
  • 无穷大 Infinity(超出最大值)
  • 无穷小 -Infinity(超出最小值)
  • NaN 非数字
  • isNaN(变量) 判断是不是非数字,数字返回false,非数字返回true

2.2.3 字符串型

2.2.3.1 字符串型基础

字符串类型可以是引号中的任意文本,其语法为双引号""和单引号''。js推荐使用单引号

如果字符串里面还想用引号,根据如下口诀:“外单内双,外双内单”

2.2.3.2 字符串转义字符

换行符。n是newline 的意思

""双引号

tab缩进

空格,b是blank的意思

<script type="text/javascript">
var str = ' 我是\'游\b坦之\' ,武\\功\\非常的\"高强"\,\n我爱慕阿\t紫';
console.log(str);
</script>
【JS】大道至简---来看看JS中你最熟悉的变量和数值的知识吧_JavaScript_02
2.2.3.2 字符串长度

通过str.length的方式获取字符串的长度

2.2.3.3 字符串的拼接
【JS】大道至简---来看看JS中你最熟悉的变量和数值的知识吧_JS_03
  • 用+拼接,如下
var str = '游坦之'+'你好';//结果是游坦之你好
  • 字符串 + 任何类型 = 拼接之后的新字符串
var str = '小游'+true;//与布尔类型拼接为 小游true
var str = '小游'+666;//与数值类型拼接为 小游666

2.2.4 Boolean型

只有true和false两个值,默认为false。布尔型类false在加法运算中当0来看,true在加法运算中当1来看。

2.2.5 Undefined和Null

分别为未定义的、空的。Undefined和数值相加是NaN,Null和数值相加是数值(Null计算中当0来看)

2.3 数据类型的转换

2.3.1 获取数据的类型

可以通过以下两种方式判断变量的类型

  • 关键词 typeof
var num = 10;
console.log(typeof num);//会返回num的数值类型 为 Number 数值型
  • 控制台输出的颜色

字符串是黑色,数值是浅蓝,Boolean类型是深蓝,Undefined和Null都是浅灰。

2.3.2 转换为字符串型

其中第三种最为常用

toString()

转换成字符串

var num = 1;alert(num.toString())

String()

转换成字符串

var num = 1;alert(String(num));

加号拼接字符串

和字符串拼接的结果都是字符串,隐式转换

var num = 1;alert(num+' ');

2.3.3 转为数字型

parseInt(string)函数

将String类型转成整数数值型

parseInt("78")

parseFloat(string)函数

将string类型转成浮点数数值型

parseInt("78.21")

Number()强制转换函数

将字符型转换为数值型

Number("12")

js隐式转换(-,/,*)

利用算数运算隐式转换为数值型

'12' - 0

  1. parseInt(变量);将需要转化的变量放到括号里面
  • 取整,小数会被舍弃
  • 可以自动去掉数字后面的字符串 如"120px"->120 ,"120eeee"->120;
  • "a12",第一个字符不是数字的话,会被转化成NaN
  1. parseFloat(变量):可以得到小数
  • 可以自动去掉数字后面的字符串 如"120px"->120 ,"120eeee"->120;
  • "a12",第一个字符不是数字的话,会被转化成NaN
  1. 第三种第四种只能处理纯数值字符组成的字符串,如'12'、'12.001'
<script type="text/javascript">
var str = "12.01px";
console.log( parseInt(str));
console.log(parseFloat(str));
var str_1 = '12.001';
console.log(Number(str_1));
console.log(str_1 - 0);
</script>
【JS】大道至简---来看看JS中你最熟悉的变量和数值的知识吧_JS_04

2.3.4 转换为布尔型

【JS】大道至简---来看看JS中你最熟悉的变量和数值的知识吧_JavaScript_05

Boolean()函数

其他类型转成布尔值

Boolean("true")

  • 代表空、否定的值会被转换成false,如''、0、NaN、null、undefined
  • 其余值都会被转换为true

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK