1、JavaScript:是一个运行在浏览器端的解释型弱类型面向对象脚本语言。
1、浏览器端自带JavaScript解释器,能够识别我们的js代码(环境)
2、解释型:直接运行代码,碰到错误就停止允许后续代码
3、弱类型:变量可以保存一切数据类型,由数据决定了数据类型是什么
2、js的两种书写方式:
1、再HTML写入一个script标签,里面写js代码
<script>
//js代码
</script>
2、创建xx.js,使用script标签的src属性外部引入
<script src="xx.js"></script>
3、打桩输出:
1、在控制台输出:console.log();
2、在页面上输出:document.write();
3、在警告框输出:alert();
扩展:用户输入框:var 保存=prompt("提示文字");
4、变量:创建后可以修改
var 变量名=值;
5、常量:创建后不能修改
const 常量名=值;
6、数据类型:
1、原始/基本/值类型:5个
Number/String/Boolean/Undefined/Null
2、引用/对象类型:11个对象有很多很多的属性方法等待我们以后学习。
xx.xx;
xx.xx();
7、运算符:
1、算数:+ - * / %
几乎和小时候学习的一模一样
特殊:1、%:取余,俗称模,5%2 -> 1
2、隐式转换:默认运算符左右两边都转为数字,在运算
true->1
false->0
undefined->NaN
null->0
"1000"->1000
"1000px"->NaN
3、+运算如果碰上一个字符串,两边都会悄悄转为字符串,拼接操作
4、NaN:Not A Number,不是一个数字,他确实是数字类型,
不在三界之中,不是一个有效的数字
全是缺点:
1、参与任何算术运算结果仍为NaN
2、参与任何比较运算结果都是false
2、比较/关系:> < >= <= == != === !==
结果:一定是一个布尔值
特殊:
1、隐式转换:默认左右两边转为数字,再比较,如果参与比较的
左右两边都是字符串的时候,按位PK每个字符串unicode号(ascii码)
数字<大写<小写<汉字
汉字的第一个字:一 - 4e00(19968)
龥 - 9fa5(40869)
2、参与任何比较运算结果都是false,我们不能使用普通的比较
运算去判断x是不是NaN,解决:
var bool=!isNaN(x);
true=>是一个有效数字
false=>是一个NaN
3、undefined==null;//true
解决:undefined===null
===:全等:数值相同并且数据类型也要相同,不在带有隐式转换了
3、赋值运算:
=:赋值符号:会将等号右边的东西保存到等号的左边
+= -= *= /= %=; 一句话完成了两件事,先计算后赋值
i+=1; ===> i=i+1;
4、逻辑运算:
结果:一定也是一个布尔值
&&:全部满足才满足,只要一个不满足,就不满足
||:全部不满足才不满足,只要一个满足,就满足
!:颠倒布尔值
5、自增和自减
++ --
特殊:
单独使用,前++和后++没有区别
但是如果参与了别的表达式,变量中的值都会+1,返回不同
前++,返回的是新值
后++,返回的是旧值
6、位运算:
左移:m<<n,m*2的n次方
右移:m>>n,m/2的n次方
缺点:底数只能是2