1、js的书写位置
保证⻚⾯加载完之后再来加载JS
(
1)内部JS
书写在body的结束标签之前
格式:
(
2)外部JS
需要新建⼀个js⽂件,然后再引进HTML⽂档(引⼊也是在body标签结束之前)
格式:
(
3)内联JS
直接在标签内部输⼊ js 语法
格式:<标签 属性="JS语句"> </标签>
例如:超链接(设置弹窗)
js当中引号的使⽤需要遵循 外单内双 外双内单)
2、JS的部分属性
▪ console.log("在控制台中打印")
▪ document.write("在⻚⾯中输出")
▪ document.write("
标签会被解析,⽂本呈现h1的样式
")
▪ alert("在⻚⾯中弹窗")
▪ 弹窗:prompt("输⼊⽂本")
3、变量
(
1)变量是可以变化的量
(
2)结构: 关键字 变量名 赋值 变量值var salary = 10000
(
3)JS是弱类型语⾔,所以定义⼤多数变量都可直接⽤ var,不论后⾯跟的是数值、⽂本或者
布尔值……
Var a = 12
Var a = "hello world"
• 强类型语⾔:定义变量是必须写明该变量值是什么类型的
◦ 如:Int a = 12 (
Int a = 12.55 则会报错)
◦ String a ="hello world" (
String a = 12 会报错)
(
4)赋值使⽤ =,是将右边的变量值赋值给左边的变量名
(
5)变量声明过程
• 我们写的程序是在内存中运⾏的,当我们声明变量的时候,计算机会在内存中为所有的
变量开辟⼀个地址,⽆论该变量是否已经被赋值
• 若是变量有变量值的话,会存在该地址中
• 当命令运⾏时,会沿着指针找到相应地址,取该地址对应的内存中的值(指针是指向某
个地址的⼯具)
(
6)变量的命名
1)变量的前缀
2)不可使⽤关键字或者保留字作为变量的名字3)变量的名字应该要具备⼀定的语义
4)命名遵循驼峰命名法
(
7)变量的数据类型
1)必要性
存放进变量的数据是放在内存中的,需要对不同类型的数据进⾏编码,编码的结果会导
致所需空间不同,所以js要对数据进⾏分类,以便计算机储存时使⽤
2)分类
-
有数值类型 number (包括 整数型 INT 和浮点型FLOAT)
-
有字符串类型 string (所有带引号的数据都是该类型)
-
有未定义类型 undefined (只定义了变量名,但是没有定义变量值时为该类型)
-
有布尔值 Boolean (只有true 和 false)
-
有对象类型 object (空对象null、数组array也属于该类数据 )
-
有函数类型 function (格式 function(函数名 可不写){公式} )
3)查看变量的数据类型
typeof 变量
▪ typeof 返回的值有六种类型: number string boolean undefined object
function
▪ JS有五种基本数据类型: number string boolean undefined null▪ JS有两种引⽤类型:object function
4、运算符
(
1)算数运算符
▪ 加、减、乘、除、取余(模)
▪ 取模:
• ⼤数对⼩数取模时,结果为整除之后的余数
• ⼩数对⼤数取模时,结果为⼩数本⾝
(
2)关系运算符
1)关系运算符的结果只有 true false
2)等号
• = 赋值 将等号右边的值赋给左边
• == 相等 判断两边的值是否相等,不考虑数据类型
• === 全等 判断两边的值和数据类型是否都相等
3)关系运算符会⾃动将字符串类型的数字转化为数值类型的数字
(
3)逻辑运算符
▪ 与(
&&)、或(
||)、⾮(!也叫取反)
▪ &&:两边都为真结果才为真
▪ ||:两边都为假结果才为假
▪ !:取相反值
5、变量类型转换:隐式和显式
1)隐式类型转换:
▪ - * / % 能将⽂本类型转化为数值
▪ + 只要加号两边有⼀边为⾮数字,那么就会将⽂本两侧进⾏拼接
• 若是想要使⽤ + 进⾏计算,可将⽂字类型的数字放在前⾯ - 0,再进⾏+运算 【如: a=1
b="2" 则可 b - 0 + a】
2)显式类型转换(也叫强制类型转换)
• parseInt() 转为整数,遇到⾮数字时停⽌截取 parseInt(num)
• floatInt() 转为⼩数 ,遇到⾮数字时停⽌截取 floatInt(num)
• Number() 转为数字,必须为纯数字的字符串数据 Number(num)
• toString() 转为字符串,还可以进⾏⼆进制、⼋进制、⼗六进制等等转换
num.toString(2)• String() 转为字符串
• toFixed() 保留⼩数,同时也会转为字符串类型
3)isNaN() ⽤来判断是否出现了⾮数字运算
▪ 出现了⸺返回true 计算机:这不是⼀个数字运算对吧 回答:是的
▪ 没出现⸺返回false 计算机:这不是⼀个数字运算对吧 回答:不是,这是⼀个数字
运算
NaN⸻—not a number 这不是⼀个数字,⾮数字【当进⾏了⾮数字运算的时候,就会显
⽰该符号 如:"1"+3】
6、运算符简写 (
+= -= *= /=)
1)
▪ a+=1 ⸻⸻a = a+1
▪ a-=1 ⸻⸻a = a-1
(乘除同理)
2)
▪ a++⸻—a = a+1
▪ a--⸻⸺a = a-1
(乘除同理)
3)++a 与 a++ 是不⼀样的
• a++是先赋值再⾃增
• ++a是先⾃增再赋值
假设 Var a = 10
i. console.log( ++a) 得到的a为11 (⾃增之后再打印)
ii. console.log( a++) 得到的a为10(打印之后再⾃增,在下⼀次打印时a就会等于11了)
console.log(a) 这时得到的a为11
7、⽂本框求和
1)、先将所有需要的元素结构写出来(输⼊框、按钮、输出框)
input\button
2)、为每个元素设置ID名
3)、每个元素中的输⼊值都是变量,所以通过元素的ID,在JS代码中获取这些输⼊框内的
值,并赋值到变量中var 变量名 = document.getElementById(id名) 【这⼀步得到是字符串数据】
4)、给按钮添加点击事件,并设置公式(写上运算公式)
btn.onclick = function(){ }
8、分⽀结构
1)If
• 单分⽀ if(判断条件){ 条件为真则进⼊ }
• 双分⽀ if(判断条件){ 条件为真则进⼊ } else{ 条件为假则进⼊ }
• 多分⽀ if(判断条件){ 条件为真则进⼊ } else if(判断条件2){ 判断条件2为真则进⼊ }
else if(判断条件3){ 判断条件3为真则进⼊}else{ 以上条件都不满⾜则进⼊该处 }
0、-0、null、""、false、undefined、NaN在if条件的结果为false
2)Switch
a.结构
switch(需要进⾏判断的值){
case 1:
break
case 2:
break
case 3:
break
……
default:
break
}b.应⽤
switch case应⽤于固定的多个值(如⼀年只有12个⽉)
c.简写
当多⾏代码最终显⽰或者打印出来的值是相同时,可以将这些代码放到⼀起,省略后⾯
的case值;
d.注意事项
case 后默认跟的是数值类型的数字,如果⽤⼾输⼊的是字符串类的数字,最后会显⽰错
误,两种⽅法解决:
e.扩展:⽣成随机数
Math.random() ⽣成0.0000-099999之间的数(是⼩数,⽆限接近1)
◦ 例如取1-10之间的随机数
Math.random()*10⸻—取值为 0 .0000到 9.999999(虽然⽆限接近10,但
没有到10)
◦ 再⽤parseInt取整,得到取值 0-9
◦ 因为需要的是1-10 所以应该将parseInt(Math.random()*10) + 1 此时取值为 1 -10
9、循环结构
(
1)while(条件表达式){循环体(条件成⽴时会反复执⾏的代码)}
▪ 如果初始条件不成⽴,⼀次也不会执⾏
▪ 死循环:没有终⽌条件的循环,要避免
(
2)do while▪ 即使初始条件不成⽴,也会执⾏⼀次 (先执⾏⼀次循环体,只看条件是否满⾜)
▪ 提取⼀个数字的个位、⼗位、百位、千位
Var a = 202
Var gw = a % 10
Var sw = parseInt(a/10)%10
Var bw = parseInt(a/100)
document.write(gw)
document.write(sw)
document.write(bw)
▪ 提取⼀个⽇期的年份、⽉份、⽇期
var a = 20230323
var date = a % 100
var month = parseInt(a/100)%100
var year = parseInt(a/10000)
document.write(year+"年")
document.write(month+"⽉")
document.write(date+"号")
(
3)for
for(定义初始变量;退出条件;步进){循环体}
执⾏顺序:定义初始变量⸺检验变量是否符合退出条件⸺符合则不进⼊循环;不符合则
进⼊循环⸺执⾏循环体⸺变量值⾃增⸺检验变量是否符合退出条件⸺符合则不进⼊循环;
不符合则进⼊循环⸺执⾏循环体⸺变量值⾃增⸺……
10、break 和 continue
▪ continue是跳出本次循环
▪ break是会直接结束整个循环
当有多层循环时,break是跳出最贴近break(离break最近) 的那⼀层循环
11、函数
(1)含义
封装⼀段代码,需要时可直接调⽤
(2)声明函数和调⽤元素
⽅法⼀:关键字定义法 (function)function 函数名(){
可重复执⾏地代码块
}
如 function test1(){
console.log(a)
}
调⽤函数:test1()
结果:控制台会打印⼀个a
⽅法⼆:变量定义法
var 变量名 = function (){
如 var test2 = function (){
console.log(2)
}
调⽤函数:test2()
结果:控制台会打印⼀个2
补充:表格标签
tr有⼏⾏打⼏个
td有⼏列打⼏个
下⾯就是⼀个两⾏三列的表
| 1-1 | 1-1 | 1-1 |