1.数据类型
在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
2.变量的数据类型
变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。JavaScript是一种弱类型(动态语言),这意味着,在程序运行过程中,类型会被自动确定。
js的变量数据类型是只有程序在运行过程中,根据等号右边的值的数据类型来确定的。
js是动态语言,变量的数据类型是可以变化的。
简单数据类型:Number,String,Boolean,Undefined,Null
1.数字型Number
js数字类型既可以用来保存整数值,也可以保存小数(浮点数)
最常见的进制有二进制、八进制、十进制、十六进制
数字型的三个特殊值
Infinity:代表无穷大,大于任何数值
-Infinity:代表无穷小,小于任何数值
NaN,Not a number,代表一个非数值
isNAN()方法:判断非数字,并返回一个值。
如果是数字,返回false,反之,则true
2.String型
字符串型可以是引号中的任意文本,其语法为双引号””和单引号’’。js中推荐用单引号’’
js可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
字符串转义符
类似与HTML里的特殊字符,字符串中也有特殊字符,我们称之为转义符。
\n 换行符,n是newline的意思
\\ 斜杠\
\’ ‘单引号
\” “双引号
\t tab缩进
\b 空格,b是blank的意思
字符串的拼接
多个字符串之间可以使用+进行拼接,其拼接方式为字符串+任何类型=拼接后的新字符串
只要有字符串和其他类型相拼接,最终的结果是字符串类型
【数值相加,字符相连】
1.Boolean型
true为1,false为0
2.Undefined和Null
一个声明没有被赋值的变量会有一个默认值undefined
undefined和数字相加后的结果是NaN
Null空值
null和数字相加结果会返回数字
获取检测变量的数据类型:typeof xx
*prompt取过来的值是string类型的
字面量是在源代码中一个固定值的表示法,通俗地说,就是字面量表示如何表达这个值。
复杂数据类型:object
数据类型的转换:使用表单、prompt获取过来的数据默认是字符串类型的,此时不能直接简单地进行加法运算,而需要转换变量的数据类型。(将一种数据类型的变量转换成另一种数据类型)
①转换为字符串类型
-toString()
-String()强制转换
-加号拼接字符串(隐式转换)
②转换为数字型
parseInt(string)函数:得到的是整数
parseFloat(string)函数:得到的是小数,浮点数
Number()强制转换函数:利用算术运算- * /等
js隐式转换
③转换为布尔型
Boolean()函数
代表空、否定的值会被转换成false
其余的值会被转换为true
3.解释型语言和编译型语言
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。
翻译器翻译的方式有两种:一种是编译,另一种是解释。二者之间的区别在于翻译的时间点不同。
编译器是在执行代码前进行编译,生成中间代码文件
解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行时,称之为解释器)
4.标识符、关键字、保留字
标识符:指开发人员为变量、属性、函数、参数取的名字。*标识符不能是关键字和保留字
关键字:指js本身已经使用了的字,不能再用它们充当变量名,方法名
保留字:实际上是预留的“关键字”,意思是现在还不是关键字,但是未来可能成为关键字,同样不能使用它们充当变量名或方法名
5.运算符
运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
Js中常用的运算符有:算数运算符,递增和递减运算符,比较运算符,逻辑运算符,赋值运算符
①算术运算符:算数运算常用的符号,用于执行两个变量或值的算术运算。(先乘除后加减)
+ 加 -减 *乘 /除 %取余
*表达式:由数字、运算符、变量等组成的式子
②递增和递减运算符
递增(++)递减(--)
在js中,递增和递减既可以放在变量前面,又可以放在变量后面,放在变量前面时,我们可以称为前置递增(递减)运算符,放在变量后面,我们可以称为后置递增(递减)运算符。
*递增和递减运算符必须和变量配合使用
*先自加1,后返回值
后置递增运算符是先返回原值,后自加一
③比较运算符:是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(false/true)作为比较运算的结果。
小于< 大于> 大于等于>= 小于等于<= 判等号== 不等号!= 全等 要求值和数据类型都一样=== !==
④逻辑运算符:用来进行布尔值运算,其返回值也是布尔值,在后期开发中常用于多个条件的判断
与&& 或|| 非!
与-两边true返回true 有一false返回false
或-两边false返回false 否则都为true
非-取反符,用来取一个布尔值相反的值,如true的相反值是false
短路运算(逻辑中断):当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值
⑤赋值运算符:把数据赋值给变量的运算符
=直接赋值 +=、-=加、减一个数后再赋值 *=、/=、%=乘、除、取模后再赋值
6.运算符优先级
①小括号 ()
②一元运算符 ++ -- !
③算数运算符 先* / %后 + -
④关系运算符 > >= < <=
⑤相等运算符 == != === !==
⑥逻辑运算符 先&&后||
⑦赋值运算符 =
⑧逗号运算符 ,