二阶段day01

63 阅读2分钟

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、原始/基本/值类型:5Number/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、+运算如果碰上一个字符串,两边都会悄悄转为字符串,拼接操作
	         4NaNNot A Number,不是一个数字,他确实是数字类型,
                     不在三界之中,不是一个有效的数字
			全是缺点:
				1、参与任何算术运算结果仍为NaN
				2、参与任何比较运算结果都是false

2、比较/关系:> < >= <= == != === !==
	结果:一定是一个布尔值
	特殊:
		1、隐式转换:默认左右两边转为数字,再比较,如果参与比较的
                    左右两边都是字符串的时候,按位PK每个字符串unicode号(ascii码)
			数字<大写<小写<汉字
			汉字的第一个字:一 - 4e0019968)
				           龥 - 9fa5(408692、参与任何比较运算结果都是false,我们不能使用普通的比较
                    运算去判断x是不是NaN,解决:
			var bool=!isNaN(x);
			true=>是一个有效数字
			false=>是一个NaN

		3undefined==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