变量
1.声明变量 var 关键词 ,js结束需要用; var 关键词与变量之间需要空格
var age;
age = 18 ; //18就是age初始化变量
console.log(age)
更新变量 一个变量被重新赋值后,原有的变量会被覆盖,变量值以最后一次赋值为准
同时声明多个变量,可以只写一个var关键词,变量的连续处用,
注意,js 里面的所有标点符号,全部都是英文符号,
声明变量的特殊情况
1.只声明不赋值时,打印的结果是 undefind
2.不声明,不赋值,直接使用时会报错, age is not defined
3.不声明,只赋值时,可以使用,但不规范
注意
ver关键字声明变量时,可以声明同一个变量名,后声明的会覆盖前一个声明的,
命名规范
由字母(大写),数字(0~9) 特殊符号($)组成 例如 age userName user
同样的变量名,大小写不一样,代表不同的变量,例如 userName username 是两个变量
不能使用关键字: ege:var anme value 可以写val
遵循驼峰命名: age email myFristName
关键字:在js已经使用过的字,不能再当做变量名使用
if else for this with typeof in throw try cacth do finally break
保留字:预留的关键词,目前还没开始使用
基本数据类型 class const export log
字面量:定义时就已经知道是什么数据
字符串
特点:字符串需要用引号,引号里面可以是任意文本,js中一般使用单引号' ',也可以使用双引号
但是html里面使用的都是双引号,为了做区分,所以js 一般使用单引号
只要是引号里面的东西都可以编译出来
注意,在js 里,如果字符串不加引号,浏览器会解析成js 代码(也可以理解为是一个变量),其实不是变量所以就会报错
字符串的转义符
var str1='你好\n你很好'
console.log(str1);
字符串拼接
使用 '+' 进行拼接
console.log(str1 + true);
数字之前 + 连接时会加上 字符串和数字连接时,只是连接在一块
数据类型
数据类型分为:简单数据类型,复杂数据类型(引用数据类型)
1.简单数据类型
number 数字型
js 中number 可以是整数也可以是小数
Infiinity 代表无穷大,大于任何数字
Infinty 导表无穷小,小于任何数字
判断是否为非数字类型 isNaN是方法需要带括号,吧需要判断的变量放在括号里
var age = 18 ;
console.log(isNaN(age))
isNaN 返回值为false 和true false代表是数字型,true代表数字型
布尔值: boolean 有两个值 true 和false ,true 是真 false是假
true 其实就是1, false就是0
underfind 声明变量后,没给变量赋值未定义
null 其实就是一个占位符,不知道此时这个数据是什么类型时,就会先赋值 为 null (空)底层原理其实就是一个空对象
基本数据类型
js 有哪些数据类型 ?
基本数据类型
number 数值型
string 字符串型
boolean 布尔型
undefind 未定义
null 空对象
复杂数据类型
object 对象 (object array function)
数据类型转换
parseInt( ) 把数值保留为整数
可以把字符串型的数字转化为数值型
parseInt 把字符串转化为数字型时,开头不能是数字,否则会是NaN
<script> var num1 = 18; var num2 = 20; console.log(parseInt(num1)); console.log(parseInt(num2)); </script>
注意,不会进行四舍五入
parseFloat() 保留数值的浮点数 (浮点数就是小数)
<script> var num1 = 18; var num2 = 20.9; var num3 = 1314.5201 console.log(parseInt(num1)); console.log(parseInt(num2)); console.log(parseFloat(num3)); </script>
判断基本数据类型
判断基本数据类型 typeof
语法:typeof 变量名 (中间是空格) typeof( )
<script> var num = 123; var str = '您好'; var flag = true; var obj = null; var age; console.log(typeof (num)); console.log(typeof (str)); console.log(typeof (flag)); console.log(typeof (obj)); console.log(typeof (age)); </script>
转换字符类型
(1)toString( ) 转化为字符串 返回的是一个新的值,没有改变原来的值
可以把数值型的转化为字符串
可以把布尔值转化为字符串
不能转化 undefined
不能转化 null
(2)String( ) 函数
可以把数值型的转化为字符串型
可以把布尔值转化为字符串型
可以转化 undefined
可以转化 null
var num = 123; var str = '您好'; var flag = true; var obj = null; var age; console.log(num.toString()); console.log(typeof (num)); console.log(str.toString()); console.log(typeof (str)); console.log(flag.toString()); console.log(typeof (flag)); console.log(typeof (String(num))); console.log(String(flag));
隐式转换 悄咪咪 暗戳戳的转换了
‘ + ’ 号作为正号解析可以转换成数字型
console.log('1234' + 123)
场景
后端返回的数据不知道是字符串还是数值型时候,基本不会使用 '-' (减
显式转换 正大光明的转换/强制转换
字符串可以转换为数字型
布尔值转换时是 1 ,0
undefined 转换时是NaN
null 和空字符串会转换为0
布尔值转换 Boolean( ) false true 例如 undefined null " " NaN
空字符、undefined等空的值会返回false
字符串是由若干个字符组成,字符总得数量就是字符串的长度,想要获取字符串的长度可以使用length属性
打印的结果是数字,字符串的长度包含所有字符(只要在引号内的都是长度的其中一个字符)
var str = '12345678'
contsole.log(str.length) //8
var str1 = '123 5678'
contsole.log(str1.length) //8