什么是变量
变量是计算机内存中存储数据的标识符,根据变量名可以获取到内存中存储的数据
为什么使用变量
使用变量可以方便的获取或者修改内存中的数据
变量的使用
变量的声明:
var number;
变量的初始化:
var number=12;
同时声明多个变量并赋值:
var a=2,b=3;
JavaScript基本的代码规范
1.js中变量的声明都用var
2.js中每一行代码结束都应该有分号
3.js中变量是区分大小写的
4.js中的字符串可以使用单引号,也可以使用双引号,建议双引号
JavaScript变量的命名规范
1.由字母,数字,下划线,$符号组成,不能以数字开头
2.不能是关键字(for,if)
3.区分大小写(一般小写)
4.变量名必须有意义
5.遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。(userName)
JavaScript常用的输出语句
1. alert()
用于弹出一个警告框
<script>
alert("可惜不是你");
</script>
2. console.log();
用于在浏览器的控制台中输出内容(浏览器的控制台在浏览器中的开发人员工具中(快捷键:F12)的 console的选项中)
<script>
console.log("再见,你好");
</script>
3. document.write()
用于在页面中输出内容
<script>
document.write("再见,你好");
</script>
实现两个数字交换的三种方法
第一种,利用中间变量
<script>
var number1=12;
var number2=20;
var temp;
temp=number1;
number1=number2;
number2=temp;
console.log(number1,number2);
</script>
第二种,利用数字之间的关系
<script>
var num1=12;
var num2=20;
num1=num1+num2;
num2=num1-num2;
num1=num1-num2;
console.log(num1,num2);
</script>
第三中,位运算
<script>
var num1 = 10;
var num2 = 20;
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
console.log(num1, num2);
</script>
代码的注释方式
单行注释 //
多行注释 /* 代码*/
JavaScript的数据类型
基本数据类型:Number,String,Boolean,Null,Undefined
number:数字类型(整数和小数)
string:字符串类型(用单引号或者双引号括起来)
Boolean:布尔类型(值只有两个,true,flase)
null:空类型,值只有一个:null,一个对象指向为空了,此时可以赋值为null
undefined:未定义,值只有一个:undefined(变量声明了没有赋值,结果是undefined;函数没有确定的返回值,如果接收了,结果也是undefined)
如果一个变量的结果是undefined和一个数字进行计算,结果是NaN(不是数字)
如何获取这个变量的数据类型是什么:用typeof 变量名或者type of(变量名)来获取
<script>
var num=10;
var str="23";
var n=null;
var bumber;
console.log(typeof num);
console.log(typeof str);
console.log(typeof n);
console.log(typeof bumber);
</script>
数值型
浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数
<script>
var num1=0.1;
var num2=0.2;
console.log(num1+num2);
</script>
结果为0.30000000000000004
还有就是不要用小数去验证小数,有bug;也不要用NaN验证是不是NaN,应该用isNaN(变量名);
<script>
var num1;
console.log(isNaN(num1)); true
console.log(isNaN(num1+10)); true
console.log(NaN==NaN); flase
</script>
数字类型的范围:
<script>
console.log(Number.MAX_VALUE);//数字的最大值
console.log(Number.MIN_VALUE);//数字的最小值
</script>
结果为:
1.7976931348623157e+308
5e-324
无穷大:Infinity
无穷小:-Infinity
字符串型
1.字符串可以使用单引号,也可以使用双引号
2.获取字符串长度的方法:变量名.length;
var str="枕头里藏着一个梦,梦里面住着一个无法拥抱的人";
console.log(str.length);
3.字符串的拼接,用+表示
var str1 = "枕头里藏着一个梦," ;
var str2 = "梦里面住着一个无法拥抱的人";
console.log(str1+str2);
//字符串的拼接: 使用+可以把多个字符串放在一起形成一个字符串
//只要有一个是字符串,其他的是数字,那么结果也是拼接,不是相加
//如果有一个是字符串,另一个不是字符串,使用- 号,此时会发生计算
//如果两边都是数字,那么发生的是计算
Boolean类型
Boolean字面量: true和false,区分大小写
计算机内部存储:true为1,false为0
Undefined和Null
undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined
null表示一个空,变量的值如果想为null,必须手动设置
字面量
在源代码中一个固定值的表示法。
数值字面量:83, 92, 130
字符串字面量:'枕头里藏着一个梦,梦里面住着一个无法拥抱的人', "枕头里藏着一个梦,梦里面住着一个无法拥抱的人"
布尔字面量:true,false
数据类型转换
如何使用谷歌浏览器,快速的查看数据类型?
字符串的颜色是黑色的,数值类型是蓝色的,布尔类型也是蓝色的,undefined和null是灰色的
其他类型转数字类型:
1.转整数parseInt()
console.log(parseInt("10"));//10
console.log(parseInt("10afrswfdsf"));//10
console.log(parseInt("g10"));//NaN
console.log(parseInt("1fds0"));//1
console.log(parseInt("10.98"));//10
console.log(parseInt("10.98fdsfd"));//10
2.转小数parseFloat()
console.log(parseFloat("10"));//10
console.log(parseFloat("10afrswfdsf"));//10 如果第一个字符是数字会解析知道遇到非数字结束
console.log(parseFloat("g10"));//NaN 如果第一个字符不是数字或者符号就返回NaN
console.log(parseFloat("1fds0"));//1
console.log(parseFloat("10.98"));//10.98
console.log(parseFloat("10.98fdsfd"));//10.98
3.转数字Number()
v 如果要转换的字符串中有一个不是数值的字符,返回NaN
console.log(Number("10"));//10
console.log(Number("10afrswfdsf"));//NaN
console.log(Number("g10"));//NaN
console.log(Number("1fds0"));//NaN
console.log(Number("10.98"));//10.98
console.log(Number("10.98fdsfd"));//NaN
总结:想要转整数用parseInt(),想要转小数用parseFloat()
想要转数字:Number();要比上面的两种方式严格
其他类型转字符类型
1.toString()
var num=10;
console.log(num.toString());//字符串类型
2.String()
var num1=20;
console.log(String(num1));
如果变量有意义调用.toString()使用转换
如果变量没有意义使用String()转换
var num2;
console.log(num2.toString());//报错
var num3=null;
console.log(num3.toString());//报错
var num2;
console.log(String(num2));//undefined
var num3=null;
console.log(String(num3));//null
其他类型转布尔类型
0 ''(空字符串) null undefined NaN 会转换成false 其它都会转换成true
1.Boolean(值)
console.log(Boolean(1));//true
console.log(Boolean(0));//false
console.log(Boolean(11));//true
console.log(Boolean(-10));//true
console.log(Boolean("哈哈"));//true
console.log(Boolean(""));//false
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
数据的基本操作
* 算数运算符: + - * / %
* 算数运算表达式:由算数运算符连接起来的表达式
* 一元运算符: 这个操作符只需要一个操作数就可以运算的符号 ++ --
* 二元运算符: 这个操作符需要两个操作数就可以运算,
* 三元运算符:? :
* 复合运算符: += -= *= /= %=
* 复合运算表达式:由复合运算符连接起来的表达式
* 关系运算符: > < >= <= ==不严格的 ===严格的 !=不严格的不等 !==严格的不等
* 关系运算表达式:由关系运算符连接起来的表达式 (关系运算表达式的结果是布尔类型)
* 逻辑运算符:
&&---逻辑与--并且
||---逻辑或---或者
!---逻辑非---取反--取非
* 逻辑运算表达式: 由逻辑运算符连接起来的表达式
* 表达式1&&表达式2 (如果有一个为false,整个的结果就是false)
* 表达式1||表达式2 (如果有一个为true,整个的结果为true)
* !表达式1 (表达式1的结果是true,整个结果为false;表达式1的结果是false,整个结果为true)
* 赋值运算符: =
运算符的优先级
1. () 优先级最高
2. 一元运算符 ++ -- !
3. 算数运算符 先* / % 后 + -
4. 关系运算符 > >= < <=
5. 相等运算符 == != === !==
6. 逻辑运算符 先&& 后||
7. 赋值运算符
MDN网站是一个官方在线文档