javaScript day001

96 阅读5分钟

1、JavaScript介绍:简称JS,是一个运行在【客户端/浏览器】的【解释型】【弱类型】【面向对象】脚本语言

想要运行JS是需要由运行环境的
	1、浏览器自带js解释器
	2、node.js需要安装环境

编译型:在程序正式运行之前,会检查有没有报错,如果有报错直接不运行,比如:Java、c++c#... - 严格的
解释型:在程序正式运行之前,不会检查有没有报错,直接运行,碰到错误后就会停止了,比如:JavaScript、node.js、php... - 自由的

弱类型:再创建一个变量时,你想放入什么数据,就放入什么数据,非常的自由
强类型:再创建一个变量之前,必须先规定,此变量可以保存什么数据类型,才能再往里面放入什么数据,比如:Java  - 严格的

这些其实就是我们js的一些特点:
	1、js可以用任何代码编辑器编写:vscode、hbuilder、atom、webstrom、记事本...
	2、解释型
	3、弱类型
	4、面向对象:以后你会经常简单一种写法:万物皆对象,一切对象都有两个东西(属性和方法)
					   对象名.属性名
					   对象名.方法名()
	5、一切你一阶段做不到的事,都靠原生二阶段

2、进入学习

0、js运行方式:2种 1、直接在html上写一个script的双标签,里面书写js代码 - 临时测试玩法 2、在外部创建有个js文件,在其中写入js代码,html进行引入 - 正式开发玩法

1、打桩输出的三种方式:
	作用:检测代码是否有问题,找错,找bug
       *1、在控制台输出:console.log(想要输出的东西);	   //console控制台 log日志
	2、在页面上输出:document.write(想要输出的东西);//document文档 write写入,能够识别标签,但是是个垃圾:如果搭配上点击事件,会调换掉原有的页面
	3、在警告框输出:alert(想要输入的东西);		  //垃圾:卡住整个html页面,用户不关掉,是看不见html的,只能看到一个白板

2、js注释:作用:方便以后阅读代码(维护),玩
	单行注释://
	多行注释:/**/
	
3、变量和常量:
	硬盘:外部存储器:外存,保存文件/数据
	CPU:中央处理器,计算速度
	内存:内部存储器,保存的是应用程序在执行过程中,所需要用到的一些数据,变量其实就一个内存,我们取得变量名就是一个内存地址

              *变量:可以保存数据,如果数据繁琐,以后可以使用变量名,相当于就是在使用变量的值,变量顾名思义,值以后是可以改变的
	何时使用:只要反复出现/反复使用的数据,都要先提前保存在变量之中
	语法:var 变量名=变量值;
	特殊:
                  1、变量名其实不是随意的:
			1、不能是数字开头,可以数字结尾
			2、建议:尽量的见名知意
				name
				xingming - 不太推荐,逼格太low了,影响你装逼的速度,也影响你以后谈薪的资本
				a - 最不推荐,不能见名知意,而且会用完,以后维护也不方便
			3、name其实是一个关键字,不管你保存的数据类型是什么,最后都会悄悄地变成一个字符串
			4、千万不要拿着关键字当变量名
	          2、可以不保存数据,会有一个默认值undefinedundefined是个垃圾,拿来干什么都要不得 - 非常不推荐大家创建变量不赋值
	          3、创建多个变量时可以简写,var只写一次,每个变量之间使用,进行分割

	常量:一旦创建,值不允许修改
		现实生活中哪些是常量?但是常量其实很少,代码中也会很少使用
			1、一周72、pi - 3.1415926....
			3、一年12个月
			4、地球的公转速度/自转速度
			5、一年365/366天

		语法:const 常量名=值;

4、数据类型:
	1、原始/基础/值类型:5个
		*1.number - 数字类型,取值有无数个
		*2.string - 字符串类型,取值有无数个,但是需要加上""''括起来
		*3.boolean - 布尔类型,取值只有两个:true(真/对) 或 false(假/错),一般用于做比较判断是才会出现
		 4.null - 空,释放你不再需要的内存/变量,节约内存空间
		 5.undefined - 拿来干什么都要不得,这是我们祖师爷犯下的一个错误
                     6.Symbol
                     7.Biglnt

	2、引用/对象类型:11个对象,有很多很多的属性和方法等待我们去学习


5、运算符:
	赋值运算符:=
	算术运算符:+ - * / %
	           特殊:1、%:取余,俗称模,两个数相除,不去商,而且除不尽的余数
			5%2 -> 1
			3%5 -> 3
			作用:
				1、最大的作用就是判断奇偶性,num%2,如果等于0说明是偶数,如果等于1说明是奇数
				2、获取某个数字的后几位
					console.log(1234%10);//4
					console.log(1234%100);//34
					console.log(1234%1000);//234
		    		3、控制一个数字永远不超过某个数字
					num%3 -> 结果永远不会超过3
		     2、*算数运算都具有隐式转换:悄悄地都会转为数字,再运算
				特殊:+运算,只要碰上一个字符串,则悄悄的两边都会转为字符串,+运算不再是+运算,变成了一个拼接操作

扩展:

1、用户输入框:var user=prompt("提示文字"); 2、分支结构 1、只有条件满足是才会执行操作,一个条件一件事,满足就做不满足就不做 if(条件){ 操作 }

2、条件满足是才会执行操作,条件不满足则执行默认操作,一个条件两件事,满足就做第一件,不满足就做第二件
	if(条件){
		操作
	}else{
		默认操作
	}

3、多个条件多件事,满足谁就做谁
	if(条件1){
		操作1
	}else if(条件2){
		操作2
	}else{
		默认操作
	}		
		
注意:1、第三种写法:else if可以有多个
           2、分支只要走了一条路,就不会再看其他路了
           3、else其实可以省略不写,但是不推荐,如果条件都不满足,则什么都不会执行