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、可以不保存数据,会有一个默认值undefined,undefined是个垃圾,拿来干什么都要不得 - 非常不推荐大家创建变量不赋值
3、创建多个变量时可以简写,var只写一次,每个变量之间使用,进行分割
常量:一旦创建,值不允许修改
现实生活中哪些是常量?但是常量其实很少,代码中也会很少使用
1、一周7天
2、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其实可以省略不写,但是不推荐,如果条件都不满足,则什么都不会执行