JavaScript学习笔记——变量

变量

变量可以用来保存字面量,而且变量的值可以任意改变

变量的定义和赋值

在JavaScript中,永远都是用var来定义变量(在ES6 之前),这和C、Java等语言不同

var a = 100;//赋值式声明
var b;//单纯的声明

命名规范

变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。

var _abc;
var $abc;//必须是$_字母作为开头,变量名称里还可以包含。
//var 1abc;//不允许数字开头
//var .abc;//不能以除_$之外的符号开头

关键字、标识符、保留字不可以当做变量
例如:

abstract、boolean、byte、char、classconstdebugger、
double、enumexportextends、final、float、goto、
implementsimport、int、interface、long、native、
packageprivateprotectedpublic、short、staticsuper、synchronized、throws、transient、volatile

变量对大小写敏感,例如A和a是两个变量

var A = 250;    //变量1
var a = 888;    //变量2

总结:

1.建议用驼峰命名规则:getElementById/matherAndFather/aaaOrBbbAndCcc
2.变量命名必须以字母或是下标符号”_”或者”$”为开头。
3.变量名长度不能超过255个字符。
4.变量名中不允许使用空格,首个字不能为数字。
5.不用使用脚本语言中保留的关键字及保留字作为变量名。
6.变量名区分大小写(javascript是区分大小写的语言)。
7.汉语可以作为变量名。但是不建议使用

变量声明的提升

JavaScript在解释执行之前,有预编译的过程,会将变量声明提升到最前面,但是不会将赋值提升

var a = "123"
var b = "456"
var c;
//声明没有赋值的情况下,会默认赋值为undefined
console.log(a)
console.log(b)
console.log(c)
c = 789
console.log(d)
var d = 7890
console.log(d)

在这里插入图片描述

变量的数据类型

在JS中一共有六种数据类型:

基本数据类型(值类型):String 字符串、Number 数值、Boolean 布尔值、Null 空值、Undefined 未定义。
引用数据类型(引用类型):Object 对象。

注意:内置对象function、Array、Date、RegExp、Error等都是属于Object类型。也就是说,除了那五种基本数据类型之外,其他的,都称之为 Object类型。

数据类型之间最大的区别:
基本数据类型:参数赋值的时候,传数值。
引用数据类型:参数赋值的时候,传地址(修改的同一片内存空间)。

typeof 运算符

typeof()表示“获取变量的类型”

typeof 数值的返回结果:number
typeof 字符串的返回结果:string
typeof 布尔型的返回结果:boolean
typeof undefined的返回结果:undefined
typeof null的返回结果:object

注:在JavaScript中,只要是数,就是 number 数值型的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是 number 类型的。

String字符串

(1)在JS中,字符串需要使用引号引起来。使用双引号或单引号都可以,但是不要混着用。
(2)引号不能嵌套:双引号里不能再放双引号,单引号里不能再放单引号。但是单引号里可以嵌套双引号。
(3)转义字符:在字符串中我们可以使用\作为转义字符,当表示一些特殊符号时可以使用\进行转义。

\" 表示 "
\' 表示 '
\n 表示换行
\r 表示回车
\t 表示制表符
\b 表示空格
\\ 表示\

将其他数值转换为字符串的三种方式:

拼串(任意数据类型+字符串都会被换成字符串)
toString()
String()

Number

在JavaScript中,只要是数,就是 number 数值型的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是 number 类型的。

数值范围
由于内存的限制,ECMAScript 并不能保存世界上所有的数值。

最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
最小值:Number.MIN_VALUE,这个值为: 5e-324

如果使用Number表示的变量超过了最大值,则会返回Infinity。

无穷大(正无穷):Infinity
无穷小(负无穷):-Infinity

注意:typeof Infinity的返回结果是number

NaN和isNaN()函数

NaN:是一个特殊的数字,表示Not a Number,非数值

console.log("abc" / 18);  
//结果是NaN
console.log("abc" * "abcd");
 //字符串相乘是没有结果的,但如果强行输出,就一定会给你一个结果。结果是NaN

注意:
typeof NaN的返回结果是number
Undefined和任何数值计算的结果为NaN
NaN 与任何值都不相等,包括 NaN 本身

isNaN
isNaN():任何不能被转换为数值的值,都会让这个函数返回 true。
(简单说就是问这个值是不是非数字,但是在问之前要进行类型转换)

isNaN(NaN);// true
isNaN("study"); // true
isNaN(669664); // false

浮点数的运算

在JS中,整数的运算基本可以保证精确;
但是小数的运算,可能会得到一个不精确的结果。
所以,不要使用JS进行对精确度要求比较高的运算

var a = 0.1 + 0.2;
console.log(a);  
//打印结果:0.30000000000000004

隐式转换

“2”+1得到的结果其实是字符串,但是"2"-1得到的结果却是数值1,这是因为计算机自动帮我们进行了“隐式转换”。

也就是说,-、*、/、%这几个符号会自动进行隐式转换

var a = "4" + 3 - 6;
console.log(a);//输出37

所以最好自己完成转换,方便程序的可读性

Boolean 布尔值

true 和 false
主要用来做逻辑判断
直接使用,不需要加引号

null和undefined

null
专门用来表示一个为空的对象

var a = null

注意:
Null类型的值只有一个,就是null
使用 typeof 检查一个null值时,会返回object。

undefined

声明了一个变量,但是没有赋值

var a

此时它的值就是undefined

注意:
undefined类型的值只有一个,就是undefind
使用 typeof 检查一个undefined时,会返回undefined。

null和undefined异同

null == undefined //true
null === undefined //false

任何数据类型和undefined运算都是NaN
任何值和null运算,null可看做0运算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值