js用法

92 阅读8分钟

1、js的书写位置

保证⻚⾯加载完之后再来加载JS

1)内部JS

书写在body的结束标签之前

格式:

2)外部JS

需要新建⼀个js⽂件,然后再引进HTML⽂档(引⼊也是在body标签结束之前)

格式:

3)内联JS

直接在标签内部输⼊ js 语法

格式:<标签 属性="JS语句"> </标签>

例如:超链接(设置弹窗)

box
(为div设置点击功能并设置弹窗

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)分类

  1. 有数值类型 number (包括 整数型 INT 和浮点型FLOAT)

  2. 有字符串类型 string (所有带引号的数据都是该类型)

  3. 有未定义类型 undefined (只定义了变量名,但是没有定义变量值时为该类型)

  4. 有布尔值 Boolean (只有true 和 false)

  5. 有对象类型 object (空对象null、数组array也属于该类数据 )

  6. 有函数类型 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-11-11-1