CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

介绍JS的基本语法-源码交易平台丞旭猿

语句

JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。

语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。

var a = 1 + 3;

这条语句先用var命令,声明了变量a,然后将1 + 3的运算结果赋值给变量a

1 + 3叫做表达式(expression),指一个为了得到返回值的计算式。语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。凡是 JavaScript 语言中预期为值的地方,都可以使用表达式。比如,赋值语句的等号右边,预期是一个值,因此可以放置各种表达式。

标识符

标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript 语言的标识符对大小写敏感,所以aA是两个不同的标识符。

标识符有一套命名规则,不符合规则的就是非法标识符。JavaScript 引擎遇到非法标识符,就会报错。

简单说,标识符命名规则如下。

  • 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
  • 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9

下面这些都是合法的标识符。

arg0
_tmp
$elem
π

下面这些则是不合法的标识符。

1a  // 第一个字符不能是数字
23  // 同上
***  // 标识符不能包含星号
a+b  // 标识符不能包含加号
-d  // 标识符不能包含减号或连词线

中文是合法的标识符,可以用作变量名。

var 临时变量 = 1;

if else 语句

语法

if(表达式){语句1}else{语句2}

有一些变态情况

例一:表达式里有变态情况

a = 2
if (a = 1){                   
   console.log (a是1)
} else {
   console.log (a不是1)
}

//其中 a=1 意义为 a 赋值为 1 并不是 a 等于 1,需要把 a=1 改为 a===1

例二:语句1中有变态情况,如嵌套的 if else

a = 2
if (a < 100)
  if (a < 10)
  console.log (a小于10)

//其中第二句,第三句为语句1的内容,只是省略了{}并在语句1中嵌套了 if ,最后的值为 a小于10

例三:语句2中有变态情况,如嵌套的 if else

a = 2
if (a < 100){
  } else if (a > 10000){
  console.log (a大于10000)
  } else {
}

//其中 else 后面的内容为语句2,语句2中嵌套了 if else ,并省略了{},这样就有了 else if ,实际为两对
//if else

例四:缩进也可以有变态情况

a = 1
if (a === 2)
  console.log (a)
  console.log (a等于2)

//if 的 {} 只包含 console.log (a) 的内容,此句式为 if (a === 2) 则 if 不成立,
//直接看到 console.log (a等于2) ,最后的值为 a等于2

问号冒号表达式

表达式1 ? 表达式2 : 表达式3

例:

function max (a,b) {
  if (a > b) return a;
  else return b ;
}

可以简写为

function max (a,b) {
  return a > b ? a : b 
}

//a > b 为 a 否则就为 b

&& 短路逻辑

A && B && C && D 取第一个假值或 D ,并不会取 true/false

例:

if (window.f1) {
  console.log (f1存在)
}

可以简写为

window.f1 && console.log (f1存在)

|| 短路逻辑

A || B || C || D 取第一个真值或 D ,并不会取 true/false

例一:

a || b

if (!a) {
  b
}

//式1等于式2,意思为若 a 不为真,则执行 b

例二:

a = a || 100

if (a) {
  a = a
} else {
  a = 100
}

//式1等于式2,意思为若 a 存在,则 a = a ,若 a 不存在,则 a = 100

while 循环

语法

while (表达式) {语句}

判断表达式的真假,当表达式为真,执行语句,当表达式为假,执行后面的语句

例一:

var i = 0
while (i < 10) {
  console.log (i)
  i = i + 1
}

//当 i 小于 10 时,打出 i 再 i + 1 后看是否小于 10 ,依次循环到 i 大于等于 10 结束

例二:变态情况

var a = 0.1
while (a !== 1) {
  console.log (a)
  a = a + 0.1
}

请问: 此句式是死循环吗?

答: 是死循环,原因为浮点数不精确,导致直接跳过 a = 1 ,造成死循环

for 循环

语法

for (语句1 ; 表达式2 ; 语句3) {
  循环体
}

先执行语句1,然后判断表达式2,如果为真,执行循环体,然后执行语句3;如果为假,直接退出循环,执行后面的语句

例一:

for (let i = 0 ; i < 5 ; i + 1) {
  console.log (i)
}

//初始 i = 0 ,若 i 小于 5 则打出 i 并使 i + 1 ,依次循环到 i = 5 结束

例二:

for (var i = 0 ; i < 5 ; i++) {
  setTimeout ( () => {
    console.log (i)
  } , 0)
} 

//setTimeout 表示过一段时间以后

请问: 上面式子执行后会打印出什么

答: 会打出 5 次 5 。

原因: 1.为什么值为5:因为过一段时间以后,for 循环到最后一个值为 5

2.为什么为 5 次:因为 setTimeout 在 for 循环中被执行了 5 次

break 和 continue

break:退出当前循环

例:

for (var i = 0 , i < 10 ; i++) {
  if (i%2 === 1) {
    break
  }
}


//i%2 === 1 意思为 i 除以 2 余数为 1 ,指的是单数

i 的值为 1 ,原因为执行到 break 就会退出当前 for 循环

continue: 跳过当前循环

例:

for (var i = 0 , i < 10 ; i++) {
  if (i%2 === 1) {
    continue
  } else {
      console.log (i)
  }
}


//值为 0 2 4 6 8 . 会跳过为单数的值

label 语句

基本不常用,只针对于面试

{
  foo : 1
}

请问: 上面的区块是什么?

答: foo 为 label(标签),它的值为 1

声明:本文部分素材转载自互联网,如有侵权立即删除 。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容