什么是变量:经常改变的量。
变量是程序在内存中申请的一块用来存放数据的空间。
变量由变量名和变量值组成,通过变量名可以访问变量的值。
命名规则:
1.不能以数字开头
2.不能使用关键字(Java或JavaScript中自带的相关属性或方法。)
3.严格区分大小写
4.只能够由 数字 字母 下划线 $ 符号组成
5.见名知意 例如age name 而不是 a b c d
6.推荐使用驼峰命名法,例如studentName
常见的关键字:
if else switch for class
do while case break contiue
return default new var void
预留关键字:现在还没有自带,但是未来有,已经提前预留了。
implements package public interface
如何声明变量?
var 变量名 = 变量值;
扫盲: var 是varible(翻译:变量) 的缩写
JS中声明变量的2种方式:
1.先声明再赋值.例如:
var num ;num = 10;
2.声明的同时也赋值,例如:
var age = 20;
JS的数据类型分类:
A.基本数据类型
B.引用数据类型
JavaScript的基本数据类型:
number 注意:number是数据类型但不是关键字
string 注意:string在java是引用,在JS是基本
boolean
null
undefined
bigint
symbol
JavaScript的引用数据类型:
数组 Object 函数(方法) 等等
数据类型讲解:
boolean读布尔
js的boolean和java的boolean完全一致体现在:都是基本数据类型 都只有true和false
意义:用程序表示一件事成功或者失败,或表示一个条件成立或不成立。
JavaScript中严格区分大小写,因此true和false值只有全部为小写时才表示布尔型。
number(读数值类型)讲解
一句话总结:即可以存放小数,也可以存储整数var a = 123;
var b = 12.5;
a和b都是number类型.没有加引号
string(读字符类型)讲解
这里要注意:js的String和java的String不同之处1:
string在java是引用,在JS是基本
js的String和java的String不同之处2:
string在java中通过双引号声明
string在js 中既可以通过双引号也可以通过单引号声明
例如:
var str1 = "你好";
var str2 = '我好';
以上都是string的写法
null 表示空的意思
例如:var str = null;null的注意事项:没有任何属性或方法可言
undefined 表示未定义的意思 只声明了变量但是未赋值
例如:var str123 ;结果就是undefined;
bigint 翻译:大数值
如果存在需求需要计算很大很大(不用去记,因为很大。)数字,那么number将无法实现例如:下面的number绰绰有余
var num1 = 1111111;
var num2 = 2222222;
console.log(num1+num2);
var num1 = 11111111111111111111;//number
var num2 = 11111111111111111111;//number
console.log(num1+num2);//计算结果出现了误差
所以就需要借助于bigint
bigint类声明方法:
var num3 = 1111111111111111111n;//只需要在最后加n即可
var num4 = 1111111111111111111n;//只需要在最后加n即可
console.log(num3+num4);
symbol讲解:略 常用于独一无二的对象.
转义符是什么?
例如:我想在页面输出: 你好,我的外号是"大聪明";
document.write("你好,我的外号是"大聪明";");写法是错误的.不能同时存在多个双引号
做法1:我们需要知道 单引号里面可以包着双引号
document.write('你好,我的外号是"大聪明";');
做法2:通过转义符-- 反斜杠(enter上面的):\ 斜杠:/ (shift左边的)
document.write("你好,我的外号是\"大聪明\";");
常见的转义符:
数据类型检查:
var num = 11;//number
var str = "11";//string类型
console.log(num);
console.log(str);
以上写法:是我们可以看到的.所以可以知道是什么类型.
但是缺点1:不方便在控制台得知是什么类型
例如我们第一章节学习的prompt语法
var money = prompt("请输入你的金额");//通过money变量接受用户在前台输入的值
console.log(money);//所需我们就要学习如何识别xx变量是什么类型
总结:prompt的返回值都是string
如何判断一个变量是什么类型
语法: typeof xxx 返回是一个数据类型
var str = 123;
console.log( typeof str);//number
str = "123";
console.log( typeof str);//string
数据类型转换:
为什么要学习数据类型转换?见一下例题:
var num1 = prompt("请输入第一个数");
var num2 = prompt("请输入第二个数");
alert("两数之和为" + (num1 + num2));//这种写法是错误的
原因:prompt返回的是一个string类型,两个string类型相加,是以拼接的形式
如何将字符串转成number类型.
js提供了下面三个方法,各有区别,都要掌握
parseInt()
parseFloat()
Number()
parseInt 将一个字符串类型的数字解析成整数
alert( parseInt("11.12") );//11
alert( parseInt("11.99") );//11 总结1小数后面直接省略,不会四舍五入
alert( parseInt("11.a12") );//11 总结2小数后面直接省略
alert( parseInt("11a.a12") );//11 总结3:解析顺序从左到右,解析到非数字就停止.
alert( parseInt("1a1a.a12") );//1 总结4:只需要记住总结3
alert( parseInt("a11a.a12") );//NaN NAN 翻译: not a numnber 不是一个数字
parseFloat()和上面的语法完全一致,唯一区别保留小数
console.log( parseFloat("11.11") );//11.11
console.log( parseFloat("11.11a") );//11.11
console.log( parseFloat("11.1a1a") );//11.1
console.log( parseFloat("11a.11") );//11
console.log( parseFloat("a11.11") );//NAN
console.log( parseFloat("11.a") );//11
Number()只能将真正的数字解析
console.log( Number("11.11") );//11.11
console.log( Number("11") );//11
console.log( Number("11") );//NAN
随机数:
for(var i = 1 ; i<=1000 ;i++){
var num = Math.random();
console.log(num);
}
总结:Math.random()这个方法返回的是一个 0-1的随机数 (0,1)