JS-js数据类型

js数据类型分为基本数据类型和引用数据类型

基本数据:未定义undefined、数字Number、布尔值Boolean、空值null、字符串String、Symbol

引用数据:数组Array、对象Object、函数Function

一、undefined

即未定义的或者定义了变量却没有初始化

var a
console.log(a)  //a未定义,打印undefined

undefined的意义:为了程序的安全而设定的一种数据

二、number

与学生时代的所学的运算不同,学生时代是1+1=2,而在这里为2=1+1

var a1=10
a1=20
a1=a1+1.2   //先给a1取值20,然后再与1.2做加法,运算结果赋值给左侧的a1
console.log(a1)  //21.2

js不适用于科研运算,可以用作一般互联网产品,因为运算有精度

console.log(1.3 + 1.4)  //2.7

var a = 10
var b = 20
var c = a + b  //30
var c=a-b   //-10
var c=a*b   //200
var c=a/b   //0.5
var c=a%b   //10除以20取余   10
console.log(c)

保留小数点后几位

var r=3.1415926
var s=r.toFixed(3)  //遵循四舍五入
console.log(s)  //3.142

若要求小数点后最后一位为0时则舍弃,用该写法可以实现

var a = 1230000
var b = 1000
var c = a / b
var d = c.toFixed(2) / 100 * 100  
//先得到保留两位小数的值,后面的运算不受toFixed限制,因此遵循正常的保留,末尾为0自然舍去,不为0保留
console.log(d) //1230

其他的一些功能函数

var a = 78.23
var b = Math.ceil(a) //向上取整数
console.log(b)

var a = 19.89
var c = Math.floor(a) //向下取整数
console.log(c)

var a = 67.49
var c = Math.round(a) //四舍五入取整数
console.log(c)

 三、布尔值Boolean

boolean数据只含有true和false

var a=true
var b=false

true、false就是关键字,代表布尔值

多用于进行判断

 var a="24"
 var b="27"
 console.log(a>b)
var b=true    //b为true,打印6666
var b=false   //b为false,不打印
if(b){
	console.log(6666)
}
if(100<18){  //100<18为布尔表达式,表达的结果就是布尔值
	console.log("已成年")
}

四、null

null这种类型的数据只有null,与undefined类似

var a=null;
var b;
console.log(a)   //空
console.log(b)   //undefined

null的意义:它代表了一个变量是有数据的,只不过没有写业务数据

五、字符串String

var a="hello"  //字符串的双引号不是字符,是一种为了跟变量名做区分的标记
var b=a   //不加""为变量取值操作

字符串既可以是双引号,也可以单引号,还可以反引号

var r='he"ll"o'
var q='hello'
var w="hello"
var t="h'el'o"
var y='h'el'lo'  //机器从前往后读,不能分清哪两个单引号是一对,不可以这样写

字符串还可以通过“+”进行拼接

var a="hello"
var b="world"
var c=a+b    
//如果a或者b有任意一个字符串,就会把另外一个不是字符串的数据转化为字符串,然后进行拼接
//var a=10
//var b=person
//var c=a+b
//console.log(c)   //10person  这里的10是字符串,不是数字
console.log(c)   //helloworld

六、Symbol(ES6中新出现的)

Symbol生成的值具有唯一性,就算括号内的值相同,也不相等

let n1=Symbol("name");
let n2=Symbol("name");
console.log(n1==n2)  //false

七、数组Array

数组是一堆数据的集合,数组可以保存很多数据,且数据的类型是不限定的,我们将数组中的每一个数据称为元素,每一个元素用逗号隔开

var arr=[1,"hello",null,undefined,function(){},[1,2,3]]

数组如何取元素?

通过下标取值,从0下标开始往后数

var arr=[1,34,67,"hello",99]
console.log(arr[2])  //67

var arr1=[23,44,23,[89,333,10],"good"]
var a=arr1[3][1]
console.log(a)  //333

var arr2=[1,[2,[3,4,5],4]]
var b=arr2[1][1][2]
console.log(b)  //5

var arr3=["元素1",["元素2","数据",null]]
console.log(arr3[1][1])  //数据

八、对象Object

对象(object )跟数组一样,用来保存数据的且都可以保存任意类型的数据,只不过每一个数据都自己设计"下标"(键值对的键)

var obj={name:"Niko",age:19}
var a1=obj["name"]
console.log(a1)  //Niko
var a2=obj["age"]
console.log(a2)  //19

在对象中,如果这个对象中存在 一个属性,当我们又给这个属性赋值的时候,会覆盖之前的值,如果赋值时不存在这个属性,会添加新成员,并赋值

var obj={name:"Niko",age:20}
obj["age"]=22
console.log(obj)  //{name: 'Niko', age: 22}
obj["phone"]=123456  //原obj中没有phone属性,这里的操作会在obj中添加phone属性 
console.log(obj)  //{name: 'Niko', age: 22, phone: 123456}

注:对象的成员有一种简便写法(语法糖)

var obj={name:"TeaY"}
console.log(obj.name}   //obj.name相当于obj["name"]   TeaY

九、函数Function

 函数的写法为:function关键字小括号 大括号

function fn(){}

定义函数有两种方式,声明式和表达式

var fn = function(){}  //函数表达式
function fn(){}  //函数声明式

函数不会自己运行大括号中的代码,需要调用,调用就是让函数运行起来,并且调用一次运行一次

function fn(){
console.log(123)
}
fn()  //第一次调用打印123
fn()  //第二次调用打印123

函数是一种非常特殊的对象(引用数据) ,因此 typeof检测函数的结果不再是object 而是function

var a = function(){}
console.log(typeof a)  //检测结果为function 

Ⅹ、typeof(特殊操作符)

 typeof用于区分变量中保存的数据类型

var a = 70
var b = "66"
console.log(a)
console.log(b)
var re=typeof(a)
var ree=typeof(b)
console.log(ree)  //string
console.log(re)  //number
			
var re1=typeof(999)
console.log(re1)  //number
			
var re2=typeof("hello")
console.log(re2)  //string
			
var re3=typeof(null)
console.log(re3)  //object
			
var re4=typeof(undefined)
console.log(re4)  //undefined
			
var re5=typeof(true)
console.log(re5)  //boolean
			
var re6=typeof(function(){})
console.log(re6)  //function
			
var y=x+20
var z=typeof(y)
console.log(z)  //string

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值