文章目录
一、js简介
JavaScript是运行在客户端(浏览器)的编程语言
- 是一种脚本语言
- 是一门解释性语言
- 是一门动态类型语言
- 是一门基于对象的语言
(可百度了解js的历史)
二、变量
1. 什么是变量
计算机内存中存储数据的标识符,根据变量名称可以获取内存中存储的数据。
2. 为什么使用变量
方便获取或修改内存中的数据
3. 如何使用变量
//变量声明
var num;
//变量赋值
num = 10;
4. 变量的命名规则
-
由字母、数字、下划线、$符号组成,不能以数字开头
-
不能是关键字和保留字,例如:for、while。
-
区分大小写
变量名要有意义,并且遵守驼峰命名法,例如:userName、userPassword
demo01:交换两个变量的值
//1.使用临时变量
var num1 = 10;
var num2 = 20;
var temp = num1;
num1 = num2;
num2 = temp;
//2.不使用临时变量,交换两个数值变量的值
num1 = num1 + num2; //30
num2 = num1 - num2; //10
num1 = num1 - num2;
三、数据类型
Number、String、Boolean、Null、Undefined、Object
1. Number类型
(1)数值范围
Number.MAX_VALUE //最大值:1.7976931348623157e+308
Number.MIN_VALUE //最小值:5e-324
Infinity //无穷大
-Infinity //无穷小
(2)数值判断
NaN:not a number – 不是一个数字(与任何值都不相等,包括它本身)
isNaN:is not a number – 是不是不是一个数值(如果不是一个数值返回true;如果是一个数值返回false)
var num = 10;
var str = "你好";
console.log(num==NaN); //false
console.log(NaN==NaN); //false
console.log(str==NaN); //false
console.log(null==NaN); //false
console.log(undefined==NaN); //false
console.log(isNaN(num)); //false
console.log(isNaN(str)); //true
- 不要用小数验证小数
var x = 0.1;
var y = 0.2;
var num3 = x+y;
console.log(num3==0.3); //false,里面是存在小数精度问题
2. String类型
-
字符串
-
字符串长度:.length
var str = "hello"; console.log(str.length); //5
-
字符串拼接:+
console.log('hello' + 10); //hello10 console.log(10 + 'hello'); //10hello console.log('hello' + 'hi'); //hellohi console.log(10 + 10); //20
-
两边只要有一个是字符串,那么+就是拼接功能
-
如果两边都是数字,那么就是数字功能
3. Boolean类型
- 布尔类型:返回值是true或者false,区分大小写
- 计算机内部储存对应是0或1
4. Undefined和Null类型
- undefined表示一个声明了但是没有赋值的变量
- null表示空,需要手动设置
demo02:获取变量的类型 —— typeof
var num = 10;
var str = "hello";
var flag = true;
var und;
var nul = null;
console.log(typeof(num)); //number
console.log(typeof(str)); //string
console.log(typeof(flag)); //boolean
console.log(typeof(und)); //undefined
console.log(typeof(nul)); //object
四、注释
- 单行注释://
- 多行注释:/* */
五、类型转换
1. 其他类型转数字类型
-
整数型:parseInt()
console.log(parseInt("10abc")); //10 console.log(parseInt("10.12abc")); //10 console.log(parseInt("abc10")); //NaN,开头不是数字的不解析
-
浮点型:parseFloat()
console.log(parseFloat("10abc")); //10 console.log(parseFloat("a10bc")); //NaN console.log(parseFloat("10.12abc")); //10.12 console.log(parseFloat("abc10")); //NaN
-
数值类型:Number()
Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,返回NaN
-
+,-,-0等运算
var str = "500"; console.log(+ str); //500 console.log(- str); //-500 console.log(str - 0); //500
2. 其他类型转字符串类型
-
toString()
var num = 10; var num1 = 10.1; var flag = true; var und; var nul = null; console.log(num.toString()); //10 console.log(num1.toString()); //10.1 console.log(flag.toString()); //true console.log(und.toString()); //出错 console.log(nul.toString()); //出错
-
String()
var num1 = 10.1; var str = "500"; var flag = true; var und; var nul = null; console.log(String(num1)); //10. console.log(String(str)); //500 console.log(String(flag)); //true console.log(String(und)); //undefined console.log(String(nul)); //null
区别:String()可以用于无意义的类型转换,比如undefined、null
3. 其他类型转布尔类型
-
Boolean()
var num = 10; var num1 = 10.1; var num2 = 10.123; var str = "500"; var flag = true; var und; var nul = null; console.log(Boolean(num)); //true console.log(Boolean(num1)); //true console.log(Boolean(num2)); //true console.log(Boolean(str)); //true console.log(Boolean(flag)); //true console.log(Boolean(und)); //false console.log(Boolean(nul)); //false
六、操作符
- 算术运算符:
+ - * / %
- 一元运算符:只有一个操作数的运算符,
++ --
- 逻辑运算符:与、或、非,
&& || !
- 关系运算符:
< > >= <= == != === !==
- 赋值运算符:
= += -= *= /= %=
- 运算符的优先级(优先级从高到低)
-
- () 优先级最高
-
- 一元运算符 ++ – !
-
- 算数运算符 先* / % 后 + -
-
- 关系运算符 > >= < <=
-
- 相等运算符
== != === !==
- 相等运算符
-
- 逻辑运算符 先&& 后||
-
- 赋值运算符
-
说明:文章是笔记类型,如果有问题欢迎留言~~~