你真的了解JavaScript基础吗?

简介: 你真的了解JavaScript基础吗?

JavaScript的语法基础


盼星星、盼月亮,终于来到了JavaScript的语法基础。换句话说,很多小白前面的内容估计都没看,直接奔着JavaScript语法来了,作者在这一方面也是下了很大的功夫,闲言少叙,让我们开始吧~


语法的背景


ECMAScript的语法在很大程度上借鉴了C语言和其它类C语言,如JavaPerl,如果读者对这些语言比较熟悉的话,理解ECMAScript会比较容易的~


大小写的区别


首先我们要知道的是,ECMAScript中一切都区分大小写,无论是变量、函数名还是操作符,都区分大小写。咱换句话说,变量t跟变量T是两个不同的变量,类似的,typeof不能作为函数名,因为它是一个关键字,但是咱们的Typeof是一个完全有效的函数名


标识符


我们通常说的标识符,就是变量、函数、属性、函数参数的名称,标识符可以由一或多个下列字符组成

  • 第一个标识符必须是字母,下划线(__)或者美元符号($)
  • 剩下的字符可以是字母、下划线、美元符号或者数字
  • 标识符中的字母可以使扩展ASCII中的字母,也可以是Unicode的字母字符

按照惯例,我们一般使用驼峰命名法,即第一个单词的首字母小写,后面每个单词的首字母大写


注意注意注意!!!


关键字、保留字、true、falsenull不能作为标识符


注释


ECMAScript采用C语言风格的注释,包括单行注释和块注释,单行注释是以两个斜杠字符开头

// 这里是单行注释

块注释是以一个斜杠和一个星号(*/)开头,以它们的反向组合(*/)结尾

/*
这里是块注释
*/


严格模式


ECMAScript5采用严格模式(strict mode)的概念,严格模式是一种不同的JavaScript解析和执行模型,一些不规范的写法会被处理掉,对于不安全的活动将会抛出错误,整个脚本会采用严格模式,我们只需要在脚本开头加上一行

“use strict”

我们单看这一行代码,感觉没有啥用,但其实是一个预处理的命令,任何支持JavaScript引擎看到它都会切换成严格模式~

有时候我们不想把全局代码都设置成严格模式,那该怎么办呢?

我们可以单独指定一个函数在严格模式下执行,我们只需要把这个预处理命令放到函数体开头即可

function something() {
            "use strict"
            //函数体
        }

严格模式会影响JavaScript执行的很多方面,当我们用到的时候,作者会指出来,大家放心即可。此外,所有现代浏览器都支持严格模式


语句


ECMAScript中的语句都会以分号结束,省略分号意味着解析器确定语句在哪里收尾

<script>
        let sum = a +b 
        let diff = a - b ;
    </script>

这两行代码都能正常运行,即使没有加上分号,代码也能正常,这是因为浏览器会自动帮我们纠正一些语法错误,但是在日常开发中,我们还是要加上分号~


其它语句风格


多条语句可以合并到一个C语言风格的代码块中,代码块由一个左花括号( { )标识开始,一个右花括号标识( } )结束

<script>
   if(test){
       test = false;
       console.log(test);
   }
</script>

if之类的语句只在执行多条语句的时候要求必须有代码块,不过最佳实践还是在控制语句中使用代码块,即便我们只执行一条语句

//有效,但是不推荐
if(test)
    console.log(test);
//推荐,非常有必要
if(test){
    console.log(test);
}

在我们日常写代码的时候,我们更希望每写一个控制语句就是变成一个代码块,这样可以让内容更清晰,修改代码的时候也能更方便(主要是能够促进组内开发人员的和谐气氛~)


关键字与保留字


当当当!各位心心念念的关键字与保留字终于来咯~

break do in typeof
case else instanceof var
catch export new void
class extends return while
const finally super with
continue for switch yield
debugger function this
default if throw
delete import try

在上方规范中,我们还描述了一组未来的保留字,同样不能用作标识符或属性名,虽然保留字在语言中没有特定用途,但是它们是保留给将来做关键字用的

始终保留


enum


严格模式下保留


implements package public
interface protected static
let private

模块代码中保留


await

这些词汇不能用作标识符,但是可以用做对象的属性名(其实作者也不建议用,以防混淆),以确保兼容过去和未来的ECMAScript版本

相关文章
|
JavaScript
JS基础之解构赋值
解构赋值 在js中,我们经常会将对象或者数组里面的一部分数据作为参数传递给函数,如果我们使用传统的.方法会很麻烦。
|
移动开发 JavaScript 前端开发
JavaScript基础知识梳理-上
对JavaScript基础知识梳理-上
229 31
JavaScript基础知识梳理-上
|
存储 JavaScript 前端开发
JavaScript基础(一篇入门)
JavaScript基础(一篇入门)
217 0
JavaScript基础(一篇入门)
|
JavaScript 前端开发
2021琴理工作室JS基础教学(三)
当网页被加载的时候,浏览器就会创建文档对象模型,也就是dom 而dom可以看做一颗树
80 3
2021琴理工作室JS基础教学(三)
|
JavaScript 前端开发
JavaScript 入门基础 - 运算符(三)
文章目录 JavaScript 入门基础 - 运算符(三) 1.什么是运算符 2.表达式和返回值 3.算术运算符概述 4. 赋值运算符 5.递增和递减运算符 5.1 递增和递减运算符概述 5.2 递增运算符 5.2.1 前置递增运算符 5.2.2 后置递增运算符 5.2.3 后置和前置运算符的区别 6. 比较运算符 7. 逻辑运算符 7.1 逻辑运算符概述 7.2 逻辑与 7.3 逻辑或 7.4
153 0
JavaScript 入门基础 - 运算符(三)
|
存储 JSON JavaScript
JavaScript 入门基础 - 变量 / 数据类型(二)
JavaScript 入门基础 - 变量 / 数据类型(二)
108 0
JavaScript 入门基础 - 变量 / 数据类型(二)
|
JavaScript 前端开发 物联网
JavaScript 入门基础 / 概念介绍(一)
JavaScript 入门基础 / 概念介绍(一)
141 0
JavaScript 入门基础 / 概念介绍(一)
|
JavaScript 前端开发 Java
JavaScript的基础使用
JavaScript的基础 一、javascript简介 JavaScript简称js,最初由网景(现在的Mozilla)公司创建,由于商标冲突原因,其标准版本命名为ECMAScript,但是一般人们还是叫JavaScript,只在谈标准的时候说到ECMAScript这个名字。值得注意的是JavaScript与java没有任何关系,就像雷峰塔(神话中镇压白娘子的塔)和雷锋。此外js(JavaScript)和jsp(java servlet pages)也没有关系。   js的工作分为两部分,一部分属于js语言本身的特性,而另一部需要依靠宿主环境(web浏览器)才能完成。 二、javascri
JavaScript的基础使用
|
JavaScript 前端开发
vue js文字跑马灯基础版本
提供两种解决思路
288 1
|
JavaScript 前端开发
原生js制作选项卡详解,适合无基础的人学习
原生js制作选项卡详解,适合无基础的人学习
138 0
原生js制作选项卡详解,适合无基础的人学习