遥想本身刚开始学习前端的时候,一头雾水,看书简直像天书;如今才开始想起来作笔记,哈哈,废话很少说了,开始正题了:javascript
1.JS 6种基本类型的值前端
number (数字):java
_特殊数字:_正无穷大(infinity),无穷小(-infinity),NaN;(注意:NaN与任何值都不相等,包括它自身);函数
_ 数字的运算符号:_+,-,*,/,%(取余);后三种的运算优先级高于前两个; 最后给取余举个例子:19%5为4(即整除后留下的余数);100%10取余为0;学习
string (字符串)code
_字符串的运算符:_字符串只能进行“+”操做,表示链接; _特殊字符的存放:_运用反斜杠()表示紧跟其后的字符串有特殊意义;对象
object (对象)ip
function (函数)字符串
undefined (未定义类型)string
boolean (布尔值)
2.运算符
一元运算符
操做一个值的叫一元运算符;eg:
console.log(typeof 1) //ture
console.log(3>5) //false
相似的运算符还包括:>=,<=,==,!=
console.log(true? 1:2); //1
运算逻辑符
&&--逻辑与,当两个条件同为真时,结果为真;不然结果为假。
console.log(2>1 && 4>1) //true console.log(3>1 && 1>2) //false
!--逻辑非,给定值为真时,结果为假;给定值为假时,结果为真。
console.log(!false) //true console.log(!true) //false
||--逻辑或,二元运算符,只有当两个条件同时为假时,结果为假;不然结果为真。
console.log(1>2 || 3>2); //true console.log(1>2 || 3<2) //false
运算符首先将左侧的值转换成布尔类型,以决定后续如何操做;
if(1>2 && 3>1){ alert("true"); } //首先运算左侧的值,转换成布尔值为false,右侧的条件不用再验证,这段代码不会执行下去;
console.log(false || "user"); //user console.log(true || "user"); //true //首先运算左侧的值,转换成布尔值为false,右侧的条件为true时,返回右侧的值; //首先运算左侧的值,转换成布尔值为true,返回左侧的值再也不验证右侧的条件。
运算符优先级:
||优先级最低,&&其次,比较运算符次之,最后是其余运算符;
3.自动类型转换 运算符做用在错误类型的值上时,javascript会自动将其转换成本身指望的类型;
console.log("5"+1); //51
这里JavaScript把数字1强制转换成字符串,拼接成最后的字符串"51";
console.log("5"-1); //4
这里JavaScript把字符串"5"强制转换成数字,相减后获得最后的数字4;