您的位置:首页 > 新闻 > 资讯 > app开发用到的技术_广西红豆社区梧州论坛_中山做网站推广公司_网页设计教程

app开发用到的技术_广西红豆社区梧州论坛_中山做网站推广公司_网页设计教程

2024/12/23 19:22:48 来源:https://blog.csdn.net/Au_ust/article/details/144068365  浏览:    关键词:app开发用到的技术_广西红豆社区梧州论坛_中山做网站推广公司_网页设计教程
app开发用到的技术_广西红豆社区梧州论坛_中山做网站推广公司_网页设计教程

运算符

赋值运算符

+=、-=、/=、*=、%=这些都在别的语言里学过

一元运算符

做自增运算,别的语言也学过

++:让变量的值+1

--:让变量的值-1

用作计数,比如每进行一次操作,count++

前置自增和后置自增

和C语言一样,前置自增和后置单独使用没有区别

如果参与运算就有区别了:

独立使用没有区别,开发中一般都是独立使用,i++用的多,而且都是单独使用

let i=1
console.log(i++ + ++i +i);

运算结果是7,1+3+3(i++后i=2,++i等于2+1,新的i=3)

比较运算符

比较数据大小、是否相等

==是否相等

===左右两边是否值和类型都相等

!==左右两边是否不全等

双等号只能判断值

js里以后判断是否相等都用===

全局属性 NaN 是一个表示非数字的值。

比较异常的数字类型一般用NaN,比如失败的显示/隐式转换、计算出的结果不是实数、不定式、一个数被强制转换为NaN的表达式、将无效值表示为数字的其他情况

  • 失败的数字转换(例如,显式转换,如 parseInt("blabla")Number(undefined),或隐式转换,如 Math.abs(undefined)
  • 计算结果不是实数的数学运算(例如,Math.sqrt(-1)
  • 不定式(例如,0 * Infinity1 ** InfinityInfinity / InfinityInfinity - Infinity
  • 一个操作数被强制转换为 NaN 的方法或表达式(例如,7 ** NaN7 * "blabla")——这意味着 NaN 具有传染性
  • 将无效值表示为数字的其他情况(例如,无效的 Date new Date("blabla").getTime()"".charCodeAt(1)

NaN涉及数学运算(除位运算)结果也通常位NaN

当 NaN 是任何关系比较(><>=<=)的操作数之一时,结果总是 false

NaN 不等于(通过 ==、!=、=== 和 !==)任何其他值——包括与另一个 NaN 值。

比较运算符比的时候是根据ascii码表来比较的

Ascll完整码表(256个)_ascll码表-CSDN博客

可以进行字母字符的比较:

字符也是逐个逐个的比

console.log('aa'<'aac');//这个也是true,因为aa===aa,但是" "<c

尽量不要涉及小数的比较,因为小数有精度问题

比较运算符也有隐式转换

逻辑运算符

还是C语言的&&和||还有!

运算符优先级

语句

表达式:可以被求值的代码,JavaScript引擎会自己计算结果

语句:不一定有值,只是执行了一下

有时候表达式也可以理解为表达式语句,因为它是在计算结果,但不是必须的成分(continue)

三大语句

代码是按顺序结构执行的从上到下

分支结构

循环结构

三元运算符

条件 ? 满足条件执行的代码 : 不满足条件执行的代码
let a = +prompt()
let b = +prompt()
a>b? alert(a):alert(b)

在小于10的数字前面补零

let num = prompt()
num=num < 10 ? 0 + num : num
//let num = +prompt()
//num=num < 10 ? '0' + num : num
//这样也可以

字符串在比较的时候会隐式转换为数字,比完转回字符串

分支

 if和C语言一样

let num=prompt('输入一个数')
if(num%4===0&&num%100!==0){alert('是闰年')
}

switch

switch (数据) {case 值1:代码1break case 值2:代码2break default:代码nbreak
}

在case里找到和switch里全等的数据,case里能连续写多个值,并执行里面的代码;如果没有===(全等)执行default

switch (1) {case 3:alert('我是case1')breakcase 1,1:alert('我是case2')breakdefault:alert('我是default')break
}//输出:我是case2

没有break会穿透执行(把剩下的也执行了)

不是什么时候都会穿透

仅当必要时才会对子句表达式进行求值——如果已经找到了匹配项,则后续的 case 子句表达式将不再进行求值,即使它们可能会因跳出和穿透机制而被执行到。

switch (undefined) {case console.log(1):case console.log(2):
}
// 仅输出 1

说人话就是经过计算的表达式语句在case里是不穿透的

循环

在满足条件期间重复执行某段代码

循环退出:

break:退出循环

continue:结束本次循环,继续下次循环

Ø continue 退出本次循环, 一般用于排除或者跳过某一个选项的时候, 可以使用continue
Ø break 退出整个循环, 一般用于结果已经得到, 后续的循环不需要的时候可以使用

断点调试

打开浏览器f12

点击sources

刷新浏览器

打个断点、调试

输入num检测num变量

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com