5种基本数据:number null undefined Boolean string
1种引用数据:对象(函数 数组 时间 标签等等)
undefined
var a;
console.log(a)//undefined 未定义,或者是定义了变量但是却没有初始化
a=20
console.log(a)
数字类型
var n1=20
n1=100
n1=n1+1.2 // n1取值100,然后把100跟1.2做加法运算,然后把运算的结果赋值给n1
console.log(n1)
var a=3.141592
var b=a.toFixed(2) /100*100
// 保留两位小数,要四舍五入,并且加上(/100*100),小数点后面如果是0会不显示
console.log(b) // 3.14
var a=100.45
var b=Math.ceil(a) // 向上取整数
console.log(b) // 101
var a=100.75
var c=Math.floor(a) // 向下取整数
console.log(c) //100
var a=100.35
var c=Math.round(a) // 四舍五入取整数
console.log(c)
NULL
null 空这种类型的数据只有一个数据就是null
var a = null;
var b
console.log(a) //null
console.log(b) //undefined
null的意义,代表了一个变量是有数据的,只不过还没有写业务数据
undefined的意义,为程序安全而设定的一种数据
布尔数据Boolean
var a=true
var b=false
//true/false就是关键字 代表布尔值
//100>18 就是布尔表达式 它的表达的结果是布尔值
var c=20
//c变量中保存的数字 数字这种类型的数据有很多:100 200 10.2 3.14
if(b){
console.log(6666)
}
if(100<18){
console.log("可以喝酒")
}
字符串
var a='hello' // 字符串的双引号不是字符,是一种标记为了跟变量名做区分
var b=a
console.log(a)
var a='he''l''lo' // 字符串可以是单引号 也可以是双引号 还可以是反引号(es6)
var a='he''l''lo'
var a=''he'l'lo''
console.log(a)
var a=100
var b='200'
var c=a+b // 如果a或者b有任意一个是字符串 就会把另外一个不是字符串的数据转化为字符串然后拼接
console.log(c) // 100200.
如何分清一个变量中保存的数据是什么类型的数据
var re=typeof(200)
console.log(re) // number
var re2=typeof('hello')
console.log(re2) // string
var re3=typeof(null)
console.log(re3) // object
var re4=type(undefined)
console.log(re4) // undefined
var re5=typeof(true)
console.log(re5) // boolean
var re6=typeof(function(){})
console.log(re6) // function
2021年秋招笔试题
var a=100
a=a+21
var b=a%19
var re7=typeof(b)
选择题re7变量的数据类型是什么? // 字符串
数组(引用数据类型)
基本数据类型:
var a=20
var b=a // 动态运行流程==>
console.log(b)
b=200
console.log(a)第一步 先声明一个变量b,第二步取a变量中保存的值,第三步把取到的20赋值给b
引用数据类型:一个大型的复杂的基本数据和引用数据的‘集合体’
var a=[10,20,30]
var b=a // 第一步 先声明一个变量b,第二步把变量a对应的引用数据的内存空间让b变量也去引用
b[1]=200
console.log(b) // [10,200,30]
console.log(a) // [10,200,30]
保存的元素用逗号隔开
数组取元素是通过下标取值的 从0下标开始的
数组中可以保存很多数据,每一个数组的类型是不限定的
var arr=[10,20,30,500,200,'hello',18,null,true,undefined]
var n1=arr[3]
console.log(n1) // 500
如果知道数组中有一个元素,但不知道下标,打印数组
console.log(arr)
var arr=['hello',20]
arr[2]='h5'
console.log(arr[5]) // undefined
数据是一种引用类型的数据,它是用来保存数据的,它也可以保存数据
var arr=[200,'hello',[10,20,30],400]
console.log(arr[2][1]) // 20
对象:object
跟数组一样 用来保存数据的 只不过每一个数据都自己设计‘下标’(键值对的键)
可以保存任何类型的数据
var obj1={name:'karen',age:24}
console.log(obj1) // {name:'karen',age:24}
console.log(obj1['name']) // karen
console.log(obj1['age']) // 24
var a=20
var arr=[a,200] // 取a的值存到数组的下标0的位置
console.log(arr[0]) // 20
var obj3={name:'jack'}
obj3['name']='karen' // 如果已经有这个属性了,就会覆盖之前的值
obj3['age']=25 // 如果没有age成员,就会添加一个新成员age,然后赋值25
函数
var a=function () {
console.log(666)
}
//函数的写法,function关键字小括号,大括号
//函数不会自己运行大括号中的代码
console.log(a)
//数字的使用方式 往往是+-*/%计算
//字符串的使用方式 打印 渲染 +
//a是一个函数 它的使用方式是运行大括号代码
a() // 函数的调用==>让大括号的代码运行起来 而且调用一次就会运行一次
函数是一种非常特殊的对象(引用数据)因此 typeof检测函数的结果不再是object,而是function
函数的定义式:var a=function(){}
函数的声明式:function fn () {}
es6新增基本数据:symbol
是一个内置全局函数
生成一个独一无二的数据
let s1=Symbol(100)
let s2=Symbol(100)
console.log(s1,s2,s1==s2) // Symbol(100) Symbol(100) false