一、JavaScript概述:简称JS,是运行在客户端浏览器端的 解释型 弱类型 面向对象脚本语言
解释型:直接运行碰到错误就停止
弱类型:由数据决定了数据的类型
二、如何使用JS
1、使用方式:
1、内部写法:
<script>JS代码</script>
2、外部引入:
创建xx.js,在其中写入你的JS代码,在HTML进行引入:<script src="js路径"></script>
2、输出的方式:
1、在控制台输出:console.log();
2、在页面上输出:document.write();
支持标签,但是在某的情况下会将页面原有的内容全部替换掉
3、在警告框输出:alert();
有时候会卡住页面,用户只能看到白板
3、变量(可变化)和常量(创建后不允许修改)
var 变量名=值;
const 常量名=值;
4、数据类型:
1、原始/基本/值类型:Number、String、Boolean、Undefined、Null
2、引用/对象类型
5、运算符:
1、算术运算:+ - * / %
特殊:
1、%取余 最后取值为余数,例:10%3,最后的值为1
2、隐式转换:默认转为数字在运算
true->1
false->0
undefined->NaN
null->0
"100"->100
"10x0"->NaN
NaN:是一个数字,但是不在有效范围内,不知道他到底是多少,带来了2个缺点:
1、参与任何算术运算,结果仍为NaN
2、参与任何比较运算,结果都为false
3、+运算,碰到上一个字符串,两边都会转为字符串,变为拼接操作
2、比较/关系运算:>,<,>=,<=,==,!=,===,!==
隐式转换:默认转为数字在比较
特殊:
1、左右两边都是字符串,则按位PK每个字符的unicode号(ascii码)
0-9<A-Z<a-z<汉字
2、NaN参与任何比较运算,结果都为false,那么我们怎么来判断xxx是不是NaN
!isNaN(100);->此方法也具有数字的隐式转换,只要能够被隐式转换为数字,都可以直接放进去
true->说明是一个有效数字
false->说明是一个NaN
3、undefined==null结果为true,怎么解决?
使用:undefined===null;
全等:不带有隐式转换的等值比较,要求不光数据类型要相同,数值也要相同
3、逻辑运算:综合比较,一个条件可能搞不定
&&:全部条件都满足,最后就满足
只要一个条件不满足,最后就不满足
||:全部条件都不满足,最后不满足
只要一个条件满足,最后就满足
!:颠倒布尔值
4、赋值运算:= += -= *= /= %=,一句话完成两个操作,先运算再赋值
i+=1;//i=i+1
5、自增和自减:++ --
i++//i+=1;//i=i+1
前++和后++的区别?
单独使用没有区别
但是如果参与了别的表达式,返回的结果不一样
前++返回的是新值
后++返回的是旧值
6、左移:m<<n,读作m左移了n位,翻译:m*2的n次方
右移:m>>n,读作m右移了n位,翻译:m/2的n次方
缺点:底数只能是2,不可以修改
用户输入框:
var user=prompt("提示文字")