JS语言基础之语法
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术: DW JS
作者:易哲
撰写时间:2021/5/3
- js简介:JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备,由ECMAscript(Javascript语法)DOM(页面文档对象模型)BOM(浏览器对象模型)组成。
以上就是我所要分享的js语言基础之语法,有不足的地方还请大神打在评论区,不喜勿喷,多多交流!!!
- 用法及引入方式:
- 嵌入式
- 内联式
- 引入式(外部导入式)
-
3.大小写:要知道的是,ECMAScript 中一切都区分大小写。无论是变量、函数名还是操作符,都区分大 小写。换句话说,变量 test 和变量 Test 是两个不同的变量。类似地,typeof 不能作为函数名,因为它是一个关键字(后面会介绍)。但 Typeof 是一个完全有效的函数名。
4.标识符:就是变量、函数、属性或函数参数的名称。标识符可以由一或多个下列字符组成:
-
-
第一个字符必须是一个字母、下划线(_)或美元符号($);
剩下的其他字符可以是字母、下划线、美元符号或数字。
标识符中的字母可以是扩展 ASCII(Extended ASCII)中的字母,也可以是 Unicode 的字母字符,
如 À 和 Æ(但不推荐使用)。
按照惯例,ECMAScript 标识符使用驼峰大小写形式,即第一个单词的首字母小写,后面每个单词
的首字母大写,如:
-
-
虽然这种写法并不是强制性的,但因为这种形式跟 ECMAScript 内置函数和对象的命名方式一致,
所以算是最佳实践。
注:关键字、保留字、true、false 和 null 不能作为标识符
- 注释:
-
单行注释//
-
- 严格模式:ECMAScript 5 增加了严格模式(strict mode)的概念。严格模式是一种不同的 JavaScript 解析和执行模型,ECMAScript 3 的一些不规范写法在这种模式下会被处理,对于不安全的活动将抛出错误。要对整个脚本启用严格模式,在脚本开头加上这一行:
虽然看起来像个没有赋值给任何变量的字符串,但它其实是一个预处理指令。任何支持的 JavaScript
引擎看到它都会切换到严格模式。选择这种语法形式的目的是不破坏 ECMAScript 3 语法。
也可以单独指定一个函数在严格模式下执行,只要把这个预处理指令放到函数体开头即可
严格模式会影响 JavaScript 执行的很多方面,所有现代浏览器
都支持严格模式。
- 输出:
-
JavaScript 可以通过不同的方式来输出数据:
*使用 window.alert() 弹出对话框
- 语句:
-
ECMAScript 中的语句以分号结尾。省略分号意味着由解析器确定语句在哪里结尾,如下面的例子
所示:
即使语句末尾的分号不是必需的,也应该加上。记着加分号有助于防止省略造成的问题,比如可以
避免输入内容不完整。此外,加分号也便于开发者通过删除空行来压缩代码(如果没有结尾的分号,只删除空行,则会导致语法错误)。加分号也有助于在某些情况下提升性能,因为解析器会尝试在合适的位置补上分号以纠正语法错误。
多条语句可以合并到一个 C 语言风格的代码块中。代码块由一个左花括号({)标识开始,一个右
花括号(})标识结束:
之类的控制语句只在执行多条语句时要求必须有代码块。不过,最佳实践是始终在控制语句中
使用代码块,即使要执行的只有一条语句,如下例所示:
- 关键字与保留字:
-
ECMA-262 描述了一组保留的关键字,这些关键字有特殊用途,比如表示控制语句的开始和结束,
或者执行特定的操作。按照规定,保留的关键字不能用作标识符或属性名。ECMA-262 第 6 版规定的所有关键字如下:
- 字面量与变量:
-
字面量:一些无法改变的值;
变量:保存字面量,可以任意改变;
字面量:
数字(Number)字面量:可以是整数或者是小数,或者是科学计数(e)。如3.14,5.88等。
字符串(String)字面量:”可以使用单引号或双引号。如"Hello","Web"等
表达式字面量:用于计算的固定值。3 + 2.2,3.14 * 2等。
数组(Array:字面量:定义一个数组。如[1,2,3,4,5,6]。
对象(Object:字面量:定义一个对象。如{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}。
函数(Function)字面量:定义一个函数。如function myFunction(a, b) { return a * b;}。
变量:
在编程语言中,变量用于存储数据值。JavaScript 使用关键字var来定义变量, 使用等号来为变量赋值,变量之间可以相互操作:
Var关键字
要定义变量,可以使用 var 操作符(注意 var 是一个关键字),后跟变量名(即标识符,如前所述)这里,message 被定义为一个保存字符串值 hi 的变量。像这样初始化变量不会将它标识为字符串类型,只是一个简单的赋值而已。随后,不仅可以改变保存的值,也可以改变值的类型:
在这个例子中,变量 message 首先被定义为一个保存字符串值 hi 的变量,然后又被重写为保存了
数值 100。虽然不推荐改变变量保存值的类型,但这在 ECMAScript 中是完全有效的。
Var声明作用域
Let声明:
let 跟 var 的作用差不多,但有着非常重要的区别。最明显的区别是,let 声明的范围是块作用域,
而 var 声明的范围是函数作用域。
For循环中的let声明:
在 let 出现之前,for 循环定义的迭代变量会渗透到循环体外部:
而在使用 let 声明迭代变量时,JavaScript 引擎在后台会为每个迭代循环声明一个新的迭代变量。
每个 setTimeout 引用的都是不同的变量实例,所以 console.log 输出的是我们期望的值,也就是循环执行过程中每个迭代变量的值:
Const声明:
const 的行为与 let 基本相同,唯一一个重要的区别是用它声明变量时必须同时初始化变量,且
尝试修改 const 声明的变量会导致运行时错误。
const 声明的限制只适用于它指向的变量的引用。换句话说,如果 const 变量引用的是一个对象,
那么修改这个对象内部的属性并不违反 const 的限制。
- JavaScript特点:
-
相对其它语言,JavaScript具有下列特点:
- JavaScript对大小写敏感。
- JavaScript使用Unicode字符集。
- JavaScript推荐使用驼峰命名法定义变量,命名避免关键字。
- JavaScript属于弱类型语言,定义变量都是var关键字