JS 基本语法

1 js 版本

1.1 历史版本

  • ES3
  • ES5
  • ES6 ECMAScript 的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为 ECMAScript 6 或者 ES6。自此,ECMAScript 每年发布一次新标准。

1.2 特性

  • ES不能删除以前的特性,要兼容旧网站

1.3 语言价值

  • 是由其产生的价值决定
  • js是世界上使用最广的语言
  • js是门槛极低的语言
  • js是一门能产生价值的语言

2 js 语法

2.1 表达式

  • 1+2 表达式的值为3
  • add(1,2)表达式的值为函数的返回值
  • console.log()表达式的值为函数本身
  • console.log(3)表达式的值为多少? undefind

2.2 语句

  • var a = 1是一个语句

2.3 语句和表达式的区别

  • 表达式一般都有值,语句可能有也可能没有
  • 语句一般会改变环境(声明、赋值)
  • 以上不是绝对的

2.4 大小写敏感

  • var a 和 var A 是不同的
  • object和Object是不同的
  • function和Funtion是不同的

2.5 空格和回车

  • 大部分都是没有意义的
  • var a = 1和 var a = 1没有区别
  • 回车大部分时候也不影响
  • return后面不能加回车
function f(){
 return 3;
}
// 3
function f(){
 return 
 3
}
//undefined

2.6 标识符

  • 第一个字符可以是Unicode字母或者$、_或者中文
  • 非第一个字符除了以上字符还包括数字
  • 变量名是标识符
      var _ = 1
      var $ = 2
      var ____ = 6
      var 你好 = 'hi'

2.7 注释

// 这是注释
/**
* 这是多行注释
*/

建议不要写无用注释
好的注释

  • 踩坑注释
  • 为什么代码写得这么奇怪,遇到什么bug

2.8 区块

  • 把代码包在一起
{
let a = 1;
let b = 2;
}
  • 常与if/for/while等合用

2.9 if语句

语法
if(表达式){语句1} else{语句2}
{}语句里面只有一句得时候可以省略,不建议
其他情况

  • 表达式书写, 如 a = 2
a = 1 
if(a = 2){
  console.log('a是2')
} else {
   console.log('a是1')
}
  • 缩进
a = 1
if(a === 2)
  console.log('a');
  console.log('a1');
// 输出 a1
a = 1
if(a === 2)
  console.log('a'),
  console.log('a1')
// 无输出

推荐写法

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

2.10 switch

1 语法

switch(fruit){
  case "banana":
  // do something
  break;
  case "apple":
  // do something
  break;
  default:
  // do something
}

2 break

  • 大部分时候,不能省略break;
  • 少部分时候,可以利用break;
    3 判断
    进行判断时与===类似,与==不同
let a = 1;
switch (a){
  case 1:
  case 3: 
    console.log("单数");
    break;
  case 2:
  case 4: 
    console.log("偶数");
    break;
}

2.11 三元表达式

a > 0 ? judge = true : judge = false

2.12 &&

window.f1 && console.log("f1存在")
image.png

2.13 ||

取第一个真值

a = a || 100

2.14 while

1 语法

  • while(表达式){语句}
  • 判断表达式的真假
  • 当表达式为真,执行语句,执行完再判断表达式的真假
  • 当表达式为假,执行后面的语句
let i = 0;
while(i < 10){
  console.log(i);
  i = i + 1;
}
// 浮点数不精确,导致死循环
let a = 0.1;
while(a !== 1){
  console.log(a);
  a = a + 0.1;
}

2 其他

  • do while

2.15 for

1 语法糖

  • for是while循环的方便写法
    2 语法
for(语句1; 表达式2; 语句3){
  循环体
}
  • 先执行语句一
  • 然后判断表达式2
  • 如果为真,执行循环体,然后执行语句3
  • 如果为假,直接退出循环,执行后面的语句
for(let i = 0; i < 5; i++){
  console.log(i)
}
for(var i = 0; i < 5; i++){
  setTimeout(
    () => {
      console.log(i)
    }
 ,0)
}

2.16 break contiune

for(let i = 0; i < 10; i++){
  if(i === 2){
    continue;
   }
  if(i === 5){
    break;
  }
  console.log(i)
}

2.17 label

1 语法

foo:{
  console.log(1);
  break foo;
  console.log("本行不会输出");
}
console.log(2)

2 坑

{
foo: 1
}

上面是什么

image.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、JavaScript和ECMAScript的关系 1996年8月,微软模仿JavaScript开发了一种相近的...
    疯狂的蜗牛Dianna阅读 473评论 0 0
  • JS版本 ES3 ,ES5,ES6,以及ES2019(与ES6差别不大) JS之父对JS的评价 “它的优秀之处并非...
    卢卢2020阅读 465评论 0 0
  • 目录 一、表达式和语句 二、标识符的规则 三、if else 语句 四、while for 语句 五、break ...
    Avan菜菜阅读 136评论 0 1
  • 一、JS的“语句”和“表达式” JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情...
    scotton阅读 283评论 0 0
  • 语句和表达式 语句(statement)是为了完成某种任务而进行的操作,JavaScript 程序的执行单位为行(...
    pang猴子阅读 345评论 0 0