js学习笔记(js基础语法上 --数据类型)

字面量
字面量就是一个值,比如变量的值或者常量的值,如字母、字符串、数字······

变量
定义完成后,可以修改的数据

<script>
    //定义变量
    var a;
    var b;
    var c,d;
    //变量初始化
    a=10;
    b='哈哈哈哈';
    //定义时同时赋值
    var x=90;
</script>

变量的默认值:没有给变量赋值时,变量里面存储的是undefined
内存中的表现方式var a=3;
1.申请一块内存空间,名字叫做a
2.向此内存空间里赋值
在这里插入图片描述
变量的命名规则和规范
规则:必须遵守
规范:建议遵守
1.命名规则
由字母、数字、下划线、$符号组成,不能以数字开头,不能是关键字和保留字,如:if、for、break······,要区分大小写。
2.命名规范
变量的名称最好做到见名知意并且遵守驼峰命名法。
驼峰命名法:首字母小写,后面单词的首字母大写。如:myName


不使用中间变量,交换两个数值变量的值

<script>//利用运算
var a1 = 6, a2 = 7;
    a1 = a1 + a2 ;
    a2 = a1 - a2 ;
    a1 = a1 - a2 ;
    document.write(a1 + '<br>');
    document.write(a2 + '<br>');
</script>

常量
定义完成后,固定且不能改变的数据
在ES6之前并没有声明常量的方法,在ES6中新增加了const来定义常量;建议常量的命名全部大写,如果用多个单词构成,可以用下划线隔开
常量必须要有初始值,且被定义之后不能修改值

//常量必须要有初始值,且被定义之后不能修改值
const CL = 'hhhh';
document.write(CL);

常量和字面量的区别:常量是存储数据的容器;字面量是等号右侧的值。

数据类型查看:typeof

var z = NaN;
document.write(typeof z);//输出为number类型

数据类型
简单的数据类型:
1.Number ------------数字类型
(1)由于内存的限制,ECMAScript并不能保存世界上所有的数值
最大值:Number.MAX_VALUE
最小值:Number.MIN_VALUE
无穷大:Infinity(Number.MAX_VALUE + Number.MAX_VALUE ')
无穷小:-Infinity
(2)非法数字(Not A Numebr)
也就是非数值(Not a Number),NaN 属性用于引用特殊的非数字值,该属性指定的并不是不合法的数字。
JS中对数值计算时没有结果返回,则返回NaN

var z = NaN;
document.write(z + '<br>');
document.write(typeof z);//输出为number类型

(3)isNaN() 函数用于检查其参数是否是非数字值
如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

document.write(isNaN(1) + '<br>');//是数字,返回false
document.write(isNaN('fff')); //不是数字,返回true
document.write(isNaN("25/12")+ "<br>");//不是数字,返回true

(4)在整数运算时不会出现差错,但是在浮点数的运算时会丢失精度,会得到一个不准确的计算结果,在后面的学习中会解决这个问题(也可以用给它规定保留几位小数的方法来解决)

2.String ---------------字符串类型
(1)由单引号或双引号或反单引号括起

var str1 = 'hh'; //单引号
var str2 = "hhh"; //双引号
var str3 = `hhhhhh`; //反单引号

(2)相同引号不可以嵌套,不同引号可以嵌套

var str1 = 'hh"呵呵呵呵"'; //对
var str2 = "hhh"哈哈哈""; //错误
//可以使用反斜杠 (\) 来转义 "哈哈哈" 字符串中的双引号,如下:
var str3 = "hhh\"哈哈哈\""; //正确

(3)给变量加上引号,那么变量将变为一个字面量

var str1 = 'hh';
document.write(str1 + '<br>'); //输出的是  hh
document.write('str1'); //输出的是  str1,字面量

<br>换行
3.Boolean------------ 布尔类型
(1)布尔类型也被称为逻辑值类型或者真假值类型,取值只有true和false
(2)任何非零数值都是true,只有0和NaN是false;
任何非空字符串都是true,只有空字符串是false;
任何对象都是true,只有null和undefined是false
(3)将其他类型转换成布尔类型:Boolean()

var bool1 = Boolean(1); //把1转换成true
document.write(bool1 + '<br>'); //输出为true

4.Undefined
(1)Undefined是一种比较特殊的类型,表示变量未赋值,它只有一个值是undefined
(2)undefined是Undefined类型的字面量

 var s;
 document.write(typeof s +'<br>'); //输出为undefined

5.Null
(1)Null是一种比较特殊的类型,它只有一个值是null
(2)null表示的是一个空的对象,所以使用typeof检查null会返回一个object

var null1 = null; //空对象
document.write(typeof null1 + '<br>'); //返回object

(3)undefined值实际上是由null值衍生出来的,所以比较undefined和null是否相等,会返回true

var str4 = null, str5 = undefined;
document.write(str4 == str5); //==,值比较,相等为true
document.write('<br>');
document.write(str4 === str5 + '<br>'); //===(全等于),值和类型比较,全相等为true

引用(复杂)数据类型:Obiect(还没学)

var str6 = [], str7 = ![];
//str6是object类型,且没有值;str7是布尔类型,且值为false
document.write(str6 == str7);
 //str6没有值就相当于布尔类型里的false,所以这里输出为true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值