11.JavaScript 数据类型
JavaScript中的数据类型有2大类:值类型(基本类型)和引用数据类型
值类型(基本类型):字符串(string)、数字(number)、布尔(Boolean)、对空(Null)、
未定义(Undefined)、Symbol【ES6】。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
a.字符串(String)
字符串---使用引号包围起来的一串字符,就是字符串
"hello" 'zhangsan'
双引号中的双引号用单引号代替
"zhagsan说:'hello'"
将字符串数据赋值给变量,那么这个变量就是字符串(String)类型
例如:
var str1; //[undefined]
str1="hello"; //string
var str2='zhangsan'; //string
//var str3="zhagsan说:"hello""; //错误:Unexpected identifier
var str3="zhagsan说:'hello'"; //string
b.数字(number)
数字(number)包括整数和小数
将字整数或小数的数据赋值给变量,那么这个变量就是数字(number)类型
通过科学(指数)计数法来书写表示一个极大的数字/极小的数字
小数计算并非100%准确 10/3=3.33333335
例如:
var num1=100; //number
var num2=12.5; //number
var num3=123e5; //12300000 number
var num4=10/3; //3.3333333333333335 number
c.布尔(逻辑)只能有两个值:true 或 false。
将字true 或 false赋值给变量,那么这个变量就是布尔(逻辑)类型
例如:
var boo1=true; //boolean
var boo2=false; //boolean
d.null
null 表示 "什么都没有"[空]
当我们不知道变量将来会是什么数据类型的时候,可以使用null类型来代替。
使用typeof 判断得到null的数据类型是object。
例如:
var test1=null; //object
var test2=test1+"hello"; //string
e.undefined --- 定义的变量没有赋予个任何数据值,此时它的数据类型就是undefined。
例如:
var test; //undefined
alert(typeof test);
null 与 undefined 的异同点是什么呢?
共同点:都是值类型
undefined——表示变量声明过但并未赋过值,它是所有未赋值变量默认值。
null——表示一个变量将来可能指向一个对象【string,number,boolean,....】
一般用于主动释放指向对象的引用
对象类型
对象由花括号表示
对象中有属性,以键【属性名称】值【数据值】对形式 (name : value) 来定义
name:zhangsan --【键值对】
name-属性名称[键] zhangsan-数据值[值]
属性之间使用","分隔,在一个对象中可以有多个属性【键值对】
属性的具体数据值在表示的时候,字符串使用""包围
例如:
{name:"zhangsan",age:23,address:"西安"}
例如:var student={id:1001,name:"张三",age:23,classname:"java班"}; //object
对象属性有两种调用方式
1.对象名称.属性名称;
例如:student.name
2.对象名称["属性名称"]
例如:student["classname"]
数组类型---"[]"
由一组数据组合在一起形成的新类型就是数组
数组的创建方式:
a.先创建后赋值
创建:var arr1=new Array();
赋值[需要数组下标]
下标就是具体数据值在数组中的位置,从0开始
arr1[0]="hello";
arr1[1]=123;
arr1[2]=true;
b.创建+赋值
var arr2=new Array("zhangsan",23,"西安");
var arr2=["zhangsan",23,"西安"];
使用typeof运算符得到的数组类型为object。
获取数组中的数据值:数组名称[下标]
alert(arr2[0]);//zhangsan
函数类型
a.function是函数标志
b.函数的格式
function 函数名称([参数]){函数体}
function定义函数的关键字
函数名称--a.可以使用字母,数字,$,_组成,数字不能开头
b.变量名称对大小写敏感
c.不要用中文
d.一般都是动词
([参数列表])--参数是一个变量/多个变量,没有用var声明,多个变量中间“,”隔开。
--参数的作用:接收函数之外的数据进入本函数中进行运算。【找外援】
{函数体}---具体功能实现代码
a.某一个具体功能实现代码的集合。【代码的重复利用】
例如:
function fun1(){
alert("有名称的函数,函数名称是fun1");
}
function fun2(str){
alert("有名称的函数,函数名称是fun2,有一个参数str="+str);
}
function fun3(str,num){
alert("有名称的函数,函数名称是fun3,有两个参数str="+
str+"第二个参数num=="+num);
}
//有返回值的函数[return 函数体的最后一句话]
function my1(){
alert("有名称的函数,函数名称是my1");
return "hello";
}
function my2(num1,num2){
alert("有名称的函数,函数名称是my2,有2个参数");
return num1+num2;
}
函数的调用: 1.要什么,给什么 2.给什么,收什么
总结:
string===“”
number===数字
boolean==true/false
null===空
undefined===未赋值
对象==={属性【键值对】}
数组===[]
函数====function
1.要什么,给什么 2.给什么,收什么