前端JavaScript自学复盘梳理D2
文章目录
- 1.运算符
- 1.1算术运算符
- 概念
- 符号
- 优先级
- 优先级定义:
- 优先级规则:
- 实例
- 1.2赋值运算符
- 概念
- 运算符
- 实例
- 1.3一元运算符
- n元运算符概念
- 自增与自减
- 基本概念
- 自增
- 自减
- 使用场景
- 前置与后置运算符(难点,以前置自增++i和后置自增i++为例)
- 共同点:
- 区别:
- 实际开发中
- 面试题
- 1.4比较运算符
- 比较运算符的介绍
- 比较运算符符号:
- 比较结果
- 细节
- 实例
- 1.5 逻辑运算符
- 作用
- 符号
- 逻辑运算符里的短路
- 实例
- 1.6 运算符优先级
- 2.语句
- 2.1 表达式与语句
- 表达式
- 语句
- 表达式与语句的区别:
- 程序三大流程控制语句(顺序、分支、循环)**
- 2.2.分支语句
- 2.2.1. if语句
- 单分支
- 双分支if语句
- 语法:
- 案例
- 多分支if语法:
- if语法
- 执行规则
- 实例
- 2.2.2. 三元运算符
- 符号:
- 实例:
- 2.2.3 switch 语句
- 释义:
- 注意事项
- 实例
- 2.3.循环语句
- 2.3.1 while 循环
- 概念
- 语法
- while 循环注意事项:
- 循环需要具备三要素:
- 实例
- 2.3.2 循环退出
- continue和break的区别(以面试流程为例)
- continue:
- break:
- 实例
- 3.综合案例-简易ATM取款机案例
1.运算符
算术运算符
赋值运算符
一元运算符
比较运算符
逻辑运算符
运算符优先级
1.1算术运算符
概念
数学运算符也叫算术运算符,主要包括加、减、乘、除、取余(求模)。
符号
+:求和
-:求差
*:求积
/:求商
%:取模(取余数,被除数大于除数正常取余数,如7%5=2,若除数大于被除数,则结果为被除数,如5%7 =5,开发中经常作为某个数字是否被整除)
优先级
先乘除取余,后加减,有小括号先算小括号里面的
优先级定义:
同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。
优先级规则:
JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执行。
乘、除、取余优先级相同
加、减优先级相同
乘、除、取余优先级大于加、减
使用 () 可以提升优先级
总结: 先乘除后加减,有括号先算括号里面的~~~
实例
例1
<script>console.log(4/2)console.log(3%2)console.log(2%3)console.log(5%7)</script>
输出结果:
例2计算圆的面积
需求:对话框中输入圆的半径,算出圆的面积并显示到页面
分析:
①:面积的数学公式: π*r²
②:转换为JavaScript写法 : 变量 * r * r
修正前代码
<script>let r = prompt('请输入半径r:')document.write('计算后圆的面积S为',3.14*r*r)</script>
参考代码(注意模板字符串问题,反引号``与’ '不要混合使用)
<script>let r = prompt('请输入半径r:')let S = 3.14*r*rdocument.write(`计算后圆的面积为:${S}`)</script>
1.2赋值运算符
概念
对变量进行赋值的运算符
运算符
常见 = :将等号右边的值赋予给左边, 要求左边必须是一个容器
其他符号
1)+=
例:num+=3
相当于num=num+3
2) -=
例:num-=3
相当于num=num-3
3)* =
例:num * =3
相当于num=num * 3
4) /=
例:num / =3
相当于num=num / 3
5)%=
例:num % =3
相当于num=num %3
实例
<script>let age =21// age = age + 1age =age + 3// age +=3console.log(age)</script>
<script>let age =21// age = age + 1// age =age + 3age +=3console.log(age)</script>
输出结果
1.3一元运算符
n元运算符概念
众多的 JavaScript 的运算符可以根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符
一元运算符:例: 正负号
二元运算符 :例: let num = 10+26
自增与自减
基本概念
自增
符号:++
作用:让变量的值 +1
自减
符号:–
作用:让变量的值 -1
使用场景
经常用于计数来使用。 比如进行10次操作,用它来计算进行了多少次了
前置与后置运算符(难点,以前置自增++i和后置自增i++为例)
共同点:
单独使用没有区别每执行1次,当前变量数值加1
其作用相当于 num += 1
例
<script>let num = 10// 一元运算符// ++num 等于 num+= 1num++console.log(num)// ++num// console.log(num)</script>
<script>let num = 10// 一元运算符// ++num 等于 num+= 1// num++// console.log(num)++numconsole.log(num)</script>
区别:
前置自增(++i):先自加再使用(记忆口诀:++在前 先加)
后置自增(i++):先使用再自加(记忆口诀:++在后 后加)
例
1.前置自增(++i)
<script>// let num = 10// 一元运算符// ++num 等于 num+= 1// num++// console.log(num)// ++num// console.log(num)// 前置自增let i = 1// 先自加 再使用console.log(++i + 2)console.log(i)// 后置自增// 先使用 后自加// console.log(i++ + 2)// console.log(i)</script>
2. 后置自增(i++):
<script>// let num = 10// 一元运算符// ++num 等于 num+= 1// num++// console.log(num)// ++num// console.log(num)// 前置自增let i = 1// 先自加 再使用// console.log(++i + 2)// console.log(i)// 后置自增// 先使用 后自加console.log(i++ + 2)console.log(i)</script>
实际开发中
一般开发中我们都是独立使用 前置自增++i和后置自增i++,后面 i++ 后置自增会使用相对较多。
面试题
分析
(到各类运算符执行顺序更容易明白)
i++先参与加法运算后自增,此时执行step1时i=1,然后执行自增(step2),i=2,同时step3中i的初始值为2,接着执行step3,++i先自增后参与运算,i的值自增为3后,参与到step1,此时i++ + ++i==1+3,,i的值仍然为3,最后执行step4,i的值为3,即1+3+i=4+3=7=i++ + ++i + i
验证
<script>// let num = 10// 一元运算符// ++num 等于 num+= 1// num++// console.log(num)// ++num// console.log(num)// 前置自增let i = 1// 先自加 再使用// console.log(++i + 2)// console.log(i)// 后置自增// 先使用 后自加// console.log(i++ + 2)// console.log(i)console.log(i++ + ++i + i)</script>
1.4比较运算符
比较运算符的介绍
作用:比较两个数据大小、是否相等
实际场景使用:
比较运算符符号:
(1)> : 左边是否大于右边
(2) <: 左边是否小于右边
(3) >=: 左边是否大于或等于右边
(4) <=: 左边是否小于或等于右边
(5)==: 左右两边是否相等
(6) ===: 左右两边是否类型和值都相等,要求值和数据类型都一样返回的才是true
(7)!==: 左右两边是否不全等
比较结果
结果为boolean类型,即只会得到true或false
细节
(1)字符串比较(比较的少,了解即可)
比较的字符对应的ASCII码
1.从左往右依次比较
2.如果第一位一样再比较第二位,以此类推
(2)NaN不等于任何值,包括它本身
(3)尽量不要比较小数,因为小数有精度问题
(4)不同类型之间比较会发生隐式转换
不同类型之间比较会发生隐式转换,最终把数据隐式转换转成number类型再比较,所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==
实例
<script>console.log(3 > 5)console.log(5 >= 5)console.log(5 == 5)// 只要值一样就是true 不管数据类型//结果为trueconsole.log(5 == '5')console.log(5 =='pink')// === 以后判断要用 === 开发常用 要求值和数据类型都一样console.log(5 === 5)console.log(5 === '5')//false// 特殊情况// p的ASCII码小于r的ASCII码console.log('pink'>'red')//falseconsole.log('pink'> 'pin')console.log(1 === NaN)//结果为falseconsole.log(NaN === NaN)// 小数涉及到精度问题console.log(0.1+0.2 === 0.3)//falseconsole.log(0.1 + 0.2)console.log(3 > '2')</script>
1.5 逻辑运算符
作用
逻辑运算符用来解决多重条件判断
符号
逻辑运算符里的短路
短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行
即:当满足一定条件,执行输出左边表达式的结果或左边的值,不执行输出右边表达式结果或右边的值
tips:markdown表格中打“||”直接用竖线打不出,使用两个大写的i可以顺利打出
符号 | 短路条件 |
---|---|
&& | 左边为false就短路(即左边式子为假,就输出左边式子对应的结果) |
II | 左边为true就短路(即左边式子为真,就输出左边式子对应的结果) |
原因:通过左边能得到整个式子的结果,因此没必要再判断右边
运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值
注意: // 有5个值是当 false 来看的 : false 、数字0 、" ‘’、 undefined 、 null ,其余是真
实例
<script>// 逻辑与 一假则假console.log(true && true)console.log(false && true)// 逻辑或 一真即真console.log(false || true)console.log(false || false)// 逻辑非 取反console.log(!true)console.log(!false)// 短路问题// 有5个值是当 false 来看的 其余是真的// false 数字0 '' undefined null // 逻辑与短路console.log(false && 20) //falseconsole.log(undefined && 20) //&& 一假即假,左侧undefined为假,短路,输出左侧undefinedconsole.log(5<3 && 20); //&& 一假即假,左侧5<3为假,短路,输出左侧5<3比较运算符表达式结果,输出falseconsole.log(null && 20)//&& 一假即假,左侧null为假,短路,输出左侧nullconsole.log(0 && 20)//&& 一假即假,左侧null为假,短路,输出左侧0console.log(10 && 20)//&& 一假即假,但左侧10为真,不短路,输出右侧结果20// 逻辑或短路console.log(false || 20) // || 一真即真,左侧为真短路,左侧为false,为假,不短路,输出右侧20console.log(undefined && 20)// || 一真即真,左侧为真短路,左侧为undefined,为假,不短路,输出右侧20console.log(5<3 && 20); // || 一真即真,左侧为真短路,左侧为5<3,为假,不短路,输出右侧20console.log(null && 20)//|| 一真即真,左侧为真短路,左侧为null,为假,不短路,输出右侧20console.log(0 && 20)// || 一真即真,左侧为真短路,左侧为0,为假,不短路,输出右侧20console.log(10 && 20)//|| 一真即真,左侧为真短路,左侧为10,为假,短路,输出左侧10</script>
输出结果
1.6 运算符优先级
一元运算符里面的逻辑非(!)优先级很高,逻辑与(&&)比逻辑或(||)优先级高
2.语句
2.1 表达式与语句
表达式
表达式是一组代码的集合,JavaScript解释器会将其计算出一个结果,如:3+4、i++、x=1等。
语句
整句或命令,js 语句是以分号结束(可以省略),比如: if语句 for 循环语句。
表达式与语句的区别:
表达式计算出一个值,但语句用来执行以使某件事发生(做什么事)
如:
表达式 3 + 4 ,计算3+4的结果
语句 alert() 弹出对话框
其实某些情况,也可以把表达式理解为语句,因为它是在计算结果,也是做事。
程序三大流程控制语句(顺序、分支、循环)**
2.2.分支语句
分支语句可以让我们有选择性的执行想要的代码
分支语句包含:If分支语句、三元运算符、switch 语句
2.2.1. if语句
if语句有三种使用:单分支、双分支、多分支
单分支
括号内的条件为true时,进入大括号里执行代码
小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
例:
<script>let a = prompt('请输入内容')if ( a ==0 ){alert(11)}// if里面的小括号都会给我们转换为 布尔型// false 0 '' undefined null NaNif (a == NaN){console.log('true')}</script>
双分支if语句
语法:
案例
案例1:用户输入,如果工龄大于1年,年底奖金+2000, 否则年底没奖金
<script>let salary = 8000let workyear = +prompt("请输入工龄(0~10)") if (workyear >= 1){salary += 2000document.write(`年终奖为${salary}`)}else{alert(`您无法获得年终奖`)}</script>
案例2:让用户输入年份,判断这一年是闰年还是平年并输出
能被4整除但不能被100整除,或者被400整除的年份是闰年,否则都是平年
<script>let year = prompt("请输入年份")if (year % 4 === 0 || year % 400 === 0 && year % 100 !== 0){alert(`${year}年是闰年`)}else{alert(`${year}年是平年`)}</script>
输出结果
多分支if语法:
if语法
执行规则
先判断条件1,若满足条件1就执行代码1,其他不执行
若不满足则向下判断条件2,满足条件2执行代码2,其他不执行
若依然不满足继续往下判断,依次类推
若以上条件都不满足,执行else里的代码n
注:可以写N个条件,但这里演示只写2个
实例
根据输入不同时间,输出不同的问候语
注:
12点以前, 输出上午好
18点以前, 输出下午好
20点以前, 输出晚上好
// // 1. 用户输入时间 等我们学api 自动获取时间let time = prompt("请输入时间:")// 2. 多分支判断if (time<=12) {alert('Good morning')} else if( time <= 18) {alert('Good afternoon!')}else{alert('Good evening!')}// 12 - 18 下午// 我们输入的时间 要大于12 并且小于 18 算下午// time >12 && time < 18</script>
2.2.2. 三元运算符
符号:
? 与 : 配合使用
语法:
相当于if(){}else{}
即
一般用来取值
实例:
<script>console.log(true ? 1:2)console.log(false ? 1 :2)</script>
2.判断2个数的最大值
需求:用户输入2个数,控制台输出最大的值
分析:
①:用户输入2个数
②:利用三元运算符输出最大值
<script>let a = +prompt('请输入第一个数')let b = +prompt('请输入第二个数')let resultresult = alert(a > b ? `最大值是第一个数${a}`: `最大值是第二个数${b}`)</script>
3.数字补零
<script>// 1. 用户输入数字let num = + prompt('请输入一个数字:')// 2. 判断条件是 小于 10 则数字前面 + '0' 01 否则 不补// let res = num >= 10 ? num : '0' + numlet resres = document.write(num < 10 ? '0' + num : num)</script>
2.2.3 switch 语句
释义:
1)找到跟小括号里数据全等的case值,并执行里面对应的代码
2)若没有全等 === 的则执行default里的代码, 例:数据若跟值2全等,则执行代码2
注意事项
- switch case语句一般用于等值判断,不适合于区间判断
- switch case一般需要配合break关键字使用 没有break会造成case穿透
实例
<script>switch (2){case 1:alert(1)breakcase 2:alert(2)breakcase 3:alert(3)breakdefault:alert('没有数据')}</script>
实例 2:
<script>switch (1){case 1:alert(1)case 2:alert(2)breakcase 3:alert(3)breakdefault:alert('没有数据')}</script>
3.简单计算器
需求:用户输入2个数字,然后输入 + - * / 任何一个,可以计算结果
<script>let num1 = +prompt('请输入第一个数字:')let num2 = +prompt('请输入第二个数字:')let str = prompt('请输入符号+ - * / 任何一个')let resswitch (str){case '+':res = num1 +num2document.write(`您选择的是加法,结果是:${res}`)breakcase '-':res = num1 - num2document.write(`您选择的是减法,结果是:${res}`)breakcase '*':res =num1 * num2document.write(`您选择的是乘法,结果是:${res}`)breakcase '/':res =num1 / num2document.write(`您选择的是除法,结果是:${res}`)breakdefault:document.write('请重新输入')}</script>
2.3.循环语句
2.3.1 while 循环
概念
循环:重复执行某段代码, 而 while : 在…. 期间
语法
释义:
while跟if语句很像,都要满足小括号里的循环条件为true才会进入执行代码,
while大括号里代码执行完毕后不会跳出,而是继续回到循环条件的小括号里判断循环条件是否满足,
若满足小括号里的条件,则又再次执行大括号里的代码,然后再回到小括号判断条件,
直到小括号内条件为假不满足时,结束循环。
while 循环注意事项:
循环的本质就是以某个变量为起始值,然后不断产生变化量,慢慢靠近终止条件的过程。
所以,
循环需要具备三要素:
- 变量起始值
- 终止条件(没有终止条件,循环会一直执行,造成死循环)
- 变量变化量(用自增或者自减)
实例
1.在页面中打印输出10句“月薪过万”
<script>let i = 1while(i <= 10){document.write(`月薪过万!<br>`)i++}</script>
注意:要有变量起始值,否则会有空页面现象
2.页面输出1-100
<script>let num = 1while( num <= 100){document.write(`${num} <br>`)num++}</script>
3.计算从1加到100的总和并输出
核心思路:
1.声明累加和的变量 sum
2.每次把 i 加到 sum 里面
<script>let i = 1let sum = 0while(i <=100){sum += ii++}document.write(`1~100的累加和是${sum}`)</script>
4.计算1-100之间的所有偶数和
思路:在实例3基础上添加 偶数判断条件: i % 2 == 0,进行偶数判断
<script>let i = 1let sum = 0while(i <=100 ){if( i % 2 == 0){sum += i}i++}document.write(`1~100的偶数累加和是${sum}`)</script>
反例(1~100奇数和)
<script>let i = 1let sum = 0while(i <=100 ){if( i % 2 != 0){// 此时 i 一定是偶数sum += i}// 不管你是偶数还是奇数我都要++i++}document.write(`1~100的奇数累加和是${sum}`)</script>
2.3.2 循环退出
continue和break的区别(以面试流程为例)
continue:
结束本次或当前这一轮满足循环条件的循环,继续下次或下一轮满足循环条件的循环。
相当于
你去b公司面试web前端工程师岗位,总共要进行n轮面试
首先, 你经历了一轮又一轮的面试
然后 ,然而正当你要进行第n-3轮面试时,continue一下,由于你获得内推,你就不用进行第n-3轮面试
接着,直接继续进行第n-2轮面试,之后你又通过后面一轮又一轮的面试
最后,直到第n轮面试结束,你和b公司之间的所有面试就结束了,且比原有流程少了一轮。
break:
结束本次或当前这一轮满足循环条件的循环,并跳出和终止所在的后续的所有无论是否满足循环条件的所有循环。
相当于
你去b公司面试web前端工程师岗位,总共要进行n轮面试
首先 ,你经历了一轮又一轮的面试
然后, 你要进行第n-3轮面试时,break一下,由于你这轮没有表现好,面试官和公司领导不满意,你在第n-3轮面试挂了,面试失败,面试结束
最后 ,你与b公司总共进行了n-3轮面试,没有继续面试第n-2轮面试,没有面试完第n轮,且在第n-3轮面试失败了,结束了面试。
实例
1.continue和break区别
场景:你去b公司面试web前端工程师岗位,总共要进行5轮面试,进行到第2轮面试时:
contine实例
获得内推,免于本轮面试
<script>let i = 1while (i <= 5){if ( i === 2 ){i++continue}document.write(`我和你进行第${i}轮面试,面试成功<br>`)i++}
</script>
break实例
面试不通过,终止面试
<script>// 我们打印进行面试let i = 1while (i <= 5){if ( i === 2 ){document.write(`我和你进行第${i}轮面试,面试失败,面试结束<br>`)break}document.write(`我和你进行第${i}轮面试,面试成功<br>`)i++}</script>
2.页面弹框
需求:页面弹出对话框,‘你爱我吗’,如果输入‘爱’,则结束,否则一直弹出对话框
分析:
①:循环条件永远为真,一直弹出对话框
②:循环的时候,重新让用户输入
③:如果用户输入的是: 爱,则退出循环 (break)
我的代码:
<script>let ask = alert('你爱我吗?')let ans =prompt('我:')while(ans != '爱' ){if(ans == '爱'){break}ask = alert('你爱我吗?')}</script>
参考代码:
<script>while (true) {let str = prompt('如果是我DJ,你还爱我吗?')if (str === '爱') {alert('我也爱你啊~~')break}}</script>
3.综合案例-简易ATM取款机案例
需求:用户可以选择存钱、取钱、查看余额和退出功能
初始代码(bug多)
<script>let money,varymoney let op = +prompt(`请选择您的操作:1.取款2.存款3.查看余额4.退出 `)while( money = 0){varymoney = + alert('请输入存入金额')money += varymoneyalert(`您一共存了${money}元`)}switch(op =prompt(`您的操作是${op}`)){case 1:varymoney = alert('请输入存入金额')money += varymoneyalert(`您一共存了${varymoney}元`)case 2:{varymoney = + alert('请输入取出金额')money -= varymoneyalert(`您一共取了${varymoney}元`)}case 3:{alert(`您的余额为${money}元`)}case 4:{break} }</script>
思路:
①:循环的时候,需要反复提示输入框,所以提示框写到循环里面
②:退出的条件是用户输入了 4,如果是4,则结束循环,不在弹窗
③:提前准备一个金额预先存储一个数额
④:取钱则是减法操作, 存钱则是加法操作,查看余额则是直接显示金额
⑤:输入不同的值,可以使用switch来执行不同的操作
参考代码
<script>// 1. 不断的弹出对话框// 3. 金额的变量let money = 100while (true) {let str = prompt(`请您选择操作:1. 存钱2. 取钱3. 查看余额4. 退出`)// 2. 除非输入的是4 则退出循环 breakif (str === '4') {break}// 4. switch 加减操作switch (str) {case '1':let cun = +prompt('请您输入存钱的金额:')// money = money + cun money += cunbreakcase '2':let qu = +prompt('请您输入取钱的金额:')money -= qubreakcase '3':alert(`您卡上的余额是${money}元`)break}}
优化和修正后的代码
思路:
1.当账户为空,先让用户存款
2.不断的弹出对话框
3.switch获取用户操作信息,并控制用户行为
4.除非输入的是4 ,则退出循环 break
<script>let money = 0let varymoney // 1.当账户为空,先存款if(money == 0){varymoney = prompt(`账户余下金额不能为空,请输入存入金额`)money += varymoneyalert(`您一共存了${varymoney}元`)}// 2.不断的弹出对话框while (true){let op = prompt(`请选择您的操作:1.存款2.取款3.查看余额4.退出 `)// 3.switch加减操作switch(op){case '1':varymoney = prompt(`您在进行${op}.存款,请输入存入金额`)money += varymoneyalert(`您一共存了${varymoney}元`)breakcase '2':varymoney = prompt(`您在进行${op}.取款,请输入取出金额`)money -= varymoneyalert(`您一共取了${varymoney}元`)breakcase '3':alert(`您在进行${op}.查看余额,您的余额为${money}元`)break// 4..除非输入的是4 则退出循环 break}if (str === '4') {break}}</script>
前端JavaScript自学复盘梳理D2相关推荐
- 零基础转行Web前端开发自学靠谱吗?菜鸟学习前端的方法分享
Web 前端开发行业长期处于供不应求的状态,薪资待遇也随之水涨船高,因此吸引了不少零基础转业者.那么,可能会有人问了:零基础转行Web 前端开发自学靠谱吗?这个问题没有确切的答案,毕竟每个人的情况都不 ...
- 在C#后端处理一些结果然传给前端Javascript或是jQuery
在C#后端处理一些结果然传给前端Javascript或是jQuery,以前Insus.NET有做过一个例子<把CS值传给JS使用 >http://www.cnblogs.com/insus ...
- Web前端-JavaScript基础教程上
Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...
- 判断字符串 正则_(重学前端 - JavaScript(模块一)) 14、引用类型之 RegExp (正则)(详述)...
上一篇文章介绍了 JavaScript 中的 Date 类型,从地理方面的原理知识开始入手,如果大家认真看过上一篇文章,相信 JavaScript 中的 Date 类型已经难不住大家了!!! 但是今天 ...
- 深入理解弹性盒布局(fiex-box)——Web前端系列自学笔记
文章目录 弹性盒布局 弹性盒布局概述 弹性盒布局属性 display flex-flow justify-content align-items order flex align-self 总结 弹性 ...
- 前端---JavaScript基础4
文章目录 前端---JavaScript基础3 call&apply 原型链 原型链操作 例子:按钮组件封装:(类似于Bootstrsp里的按钮组件封装) 前端-JavaScript基础3 c ...
- 前端---JavaScript基础3
文章目录 前端---JavaScript基础3 普通对象与函数对象 原型及属性判断 构造函数继承 原型继承 组合继承 寄生组合式继承 前端-JavaScript基础3 普通对象与函数对象 原型及属性判 ...
- 前端---JavaScript基础2
文章目录 前端---JavaScript基础2 对象类型判断 call函数 对象属性操作 深拷贝方法 前端-JavaScript基础2 重构以下代码:(以面向对象的方式) 重构后:(其中this指针问 ...
- 前端---JavaScript基础1
文章目录 前端---JavaScript基础1 数据类型 面向对象 对象创建方式 对象类型判断 前端-JavaScript基础1 JS是 解释型语言:跨平台 慢 编译型语言:不能跨平台 快 数据类型 ...
最新文章
- SQL、Linq和Lambda表达式 的关系
- linux iptables 如何设置允许几个 ip访问,Linux防火墙iptables限制几个特定ip才能访问服务器。...
- 高级java开发_我最喜欢的Java高级开发人员书籍
- 粮草先行——Android折叠屏开发技术点番外篇之运行时变更处理原则
- 5. OD-把限制的功能恢复,把阉割的功能添加(未注册版本,部分功能不可使用的修改)
- python中的super用法详解_Python中super的用法实例
- 寻找高匿名破盾代理方案1. tinyproxy
- html中id和name的异同
- AppData文件夹下Local,Locallow和Roaming
- Sass系统技术选型笔记(1)OS
- LLC谐振变换器学习二
- PAT乙级10019题——C语言
- VS2010向工具箱中添加控件解决 Microsoft Communications Control,未能实例化 设计时授权
- 泰萌主今天怎么显示服务器异常,泰萌主网络请求错误怎么办?泰萌主怎么看不了了?...
- 谈谈我对ai发展的看法
- 【高数】高数平面立体几何
- 基于PHP的学生留言管理系统
- 洛谷月赛2018.8 T1题解(U28036 Nagisa loves Tomoya)
- 结构力学计算机求解,1989_05结构力学的计算机方法_10257209.pdf
- 灵性图书馆:好书推荐-《灵魂出体》
热门文章
- 微信开发者工具 复制粘贴一行 快捷键
- matlab实现车辆自适应巡航系统acc控制
- On release of batch it still contained JDBC statements
- 单片机的两个外围电路:复位电路和时钟电路
- ps2022自学教程:使用Photoshop Mac软件创建动画和音频
- 别笑话爬虫工程师了,数仓库工程师也被警察传话了。
- 星辰小队针对于软件“星遇”的10天冲刺——第7天
- FFmpeg:截取视频片段转成GIF动画
- 【题解】POJ 3069 Saruman's Army(贪心)
- 无线路由器接入局域网的三种方式