一.变量:内存中存储一个数据的存储空间,再起一个名字。
何时使用:程序中反复使用的数据,都要先保存在变量中,再参与运算。
使用过程:声明 -> 赋值 -> 取值
1. 声明:在内存中创建一个新变量
如何声明:var 变量名;(注:仅声明,但暂未赋值,默认值为undefined)
3)要见名知意;
4)推荐使用驼峰命名法:第一个单词首字母小写,之后每个单词首字母大写(比如:backgroundColor,listStyleType);
2. 赋值:将等号右边的数据,保存到等号左边的变量中
如何赋值:变量名=值;(注:对已经包含值的变量赋新值,新值会替换旧值);
建议:在声明同时,初始化变量的值(var 变量名=值;)
3. 取值:只要使用变量名,在运行时,会被自动替换为变量中的值;
4.声明提前:在程序正式执行前,都会将var声明的变量提前到当前脚本块的顶部集中声明。再开始执行程序。赋值留在原地;
5.常量:一旦初始化,值不能改变的量;
何时使用:程序中,一旦定义不可擅自改变的值,都要用常量保存;
如何创建:const 常量名=值;(注:1.用作常量的名称,都要大写字母;2.强行修改常量的值,不会报错,但也无法修改成功!) ;
二.数据类型:数据在内存中的存储形式
1.为什么要有不同数据类型:现实中,不同类型的数据,都有专门的用途;
2.数据类型:共又2大类:(1)原始类型的值,(2)引用类型的对象;
3.原始类型:值直接保存在变量本地的类型(值为一个,而且不能特别复杂)
原始类型共5类:Number String Boolean undefined null
1)Number:表示所有数字,即可表示整数,又可表示浮点数(小数)
如何定义:凡是不加引号的数字,都是Number类型数据
何时使用:只要做计算或比较的数字,都不加引号(比如:年龄、价格);
所占空间:所有数字都是用64位二进制数(8字节)存储,(个别)整数采用32位二进制(4字节)存储 (1byte(字节)= 8Bit(位) ) 结论:数值大小和所占空间,无关。
十进制转2进制:var i=500; console.log(i.toString(2));
2)String:字符串,表示所有文字信息
如何定义:凡是用作显示的信息都要加引号,单双引号不区分(无差别);
何时使用:凡是用作显示的信息都要加引号(比如:手机号、身份证号、QQ号);
js中没有字符类型,所以一个字也要加引号。
所占空间:每个英文字母或数字占1字节,每个汉字,2字节;
js的内存中都是用字符的unicode号存储字符;
unicode:人为给主要语言中的每个字符编一个号;
字符串内容一旦创建,值不可改变,非要改变,只能用新字符串替换旧字符串;
特殊情况:“+”运算中,如果参与运算的都是字符串,则加法变为字符串拼接;
例:
var str="Hello";
str=str+"World"
console.log(str); //过程中共创建了几个字符串//3个(在内存中字符串不能修改,只能替换);
3)Boolean类型:只有两个值:true , false
何时使用:主要保存对/错,真/假, 成立/不成立,都用boolean类型
如何定义:不带引号的true和false就是boolean类型
4)undefined类型:变量声明时未初始化,默认值为undefined;
5)null类型:表示“空”的意思,通知系统垃圾回收器该变量可被回收。(用于主动释放变量)
4.引用类型:值没有直接保存在变量本地的类型,变量中只保存指向实际数据所在位置的地址值
何时使用:程序中反复使用的数据,都要先保存在变量中,再参与运算。
使用过程:声明 -> 赋值 -> 取值
1. 声明:在内存中创建一个新变量
如何声明:var 变量名;(注:仅声明,但暂未赋值,默认值为undefined)
变量命名规则:
1)不能以数字开头,仅能包含字母,数字和下划线;
2)不能用保留字:js中已经预先使用的关键字;3)要见名知意;
4)推荐使用驼峰命名法:第一个单词首字母小写,之后每个单词首字母大写(比如:backgroundColor,listStyleType);
2. 赋值:将等号右边的数据,保存到等号左边的变量中
如何赋值:变量名=值;(注:对已经包含值的变量赋新值,新值会替换旧值);
建议:在声明同时,初始化变量的值(var 变量名=值;)
3. 取值:只要使用变量名,在运行时,会被自动替换为变量中的值;
4.声明提前:在程序正式执行前,都会将var声明的变量提前到当前脚本块的顶部集中声明。再开始执行程序。赋值留在原地;
5.常量:一旦初始化,值不能改变的量;
何时使用:程序中,一旦定义不可擅自改变的值,都要用常量保存;
如何创建:const 常量名=值;(注:1.用作常量的名称,都要大写字母;2.强行修改常量的值,不会报错,但也无法修改成功!) ;
二.数据类型:数据在内存中的存储形式
1.为什么要有不同数据类型:现实中,不同类型的数据,都有专门的用途;
2.数据类型:共又2大类:(1)原始类型的值,(2)引用类型的对象;
3.原始类型:值直接保存在变量本地的类型(值为一个,而且不能特别复杂)
原始类型共5类:Number String Boolean undefined null
1)Number:表示所有数字,即可表示整数,又可表示浮点数(小数)
如何定义:凡是不加引号的数字,都是Number类型数据
何时使用:只要做计算或比较的数字,都不加引号(比如:年龄、价格);
所占空间:所有数字都是用64位二进制数(8字节)存储,(个别)整数采用32位二进制(4字节)存储 (1byte(字节)= 8Bit(位) ) 结论:数值大小和所占空间,无关。
十进制转2进制:var i=500; console.log(i.toString(2));
2)String:字符串,表示所有文字信息
如何定义:凡是用作显示的信息都要加引号,单双引号不区分(无差别);
何时使用:凡是用作显示的信息都要加引号(比如:手机号、身份证号、QQ号);
js中没有字符类型,所以一个字也要加引号。
所占空间:每个英文字母或数字占1字节,每个汉字,2字节;
js的内存中都是用字符的unicode号存储字符;
unicode:人为给主要语言中的每个字符编一个号;
字符串内容一旦创建,值不可改变,非要改变,只能用新字符串替换旧字符串;
特殊情况:“+”运算中,如果参与运算的都是字符串,则加法变为字符串拼接;
例:
var str="Hello";
str=str+"World"
console.log(str); //过程中共创建了几个字符串//3个(在内存中字符串不能修改,只能替换);
3)Boolean类型:只有两个值:true , false
何时使用:主要保存对/错,真/假, 成立/不成立,都用boolean类型
如何定义:不带引号的true和false就是boolean类型
4)undefined类型:变量声明时未初始化,默认值为undefined;
5)null类型:表示“空”的意思,通知系统垃圾回收器该变量可被回收。(用于主动释放变量)
4.引用类型:值没有直接保存在变量本地的类型,变量中只保存指向实际数据所在位置的地址值