不管脚步有多慢都不要紧,只要你在走,总会看到进步

下面是对JavaScript语法的简单总结,希望可以帮帮助到有需要的小伙伴

一、空格和换行

不是JavaScript的语法内容,可有可无(建议使用)

空格和换行可以将代码书写的更有可读性

二、可选的分号

分号是可选的,不是JavaScript语法强制要求的

作用:表示一句话的结束

当多行语句在一行编写的时候,分号必须存在

var a="启嘉";console.log(a);/* 中间的分号是必须存在的 */

三、区分大小写

JavaScript是一种给区分大小写的语言。这意味着JavaScript的关键字、变量名、函数名、以及任何其他的标识符必须使用一致的大小写形式。

四、注释

在编写JavaScript代码时,经常利用注释为代码添加说明。注释的内容会被JavaScript解释器/引擎忽略,JavaScript支持两种格式的注释:

  • 单行注释
// 这里是单行注释
  • 多行注释
/* 这里是多行注释*/

五、语句

一般情况下,一个分号就是一个语句。

JavaScript代码将多行代码组合成一个代码块,每个代码块一般是以左花括号({)开始,以右花括号(})结束

例如如下代码:

if(test) {test=false;alter(test);}

注意:

一般在执行多行代码时才需要语句块,但最好是始终都使用花括号将代码块进行包裹。

在、JavaScript代码中,如果独立编写一个语句的话。 JavaScript语法并不报错。

如下示例代码所示:

{console.log(test); //不推荐使用}

不推荐使用的原因:在ECMAScript 5版本中,不存在块级作用域

六、关键字与保留字

1、关键字

JavaScript定义了一-组具有特定用途的关键字,这些关键字可用于表示语句的开始或结束、或者执行特定操作等。也就是说,定义变量名或、函数名或对象名时不能使用这些名称。

2、保留字

JavaScript除了定义了一组关键字,还定义了-组同样不能作为变量名、函数名或对象名的保留字。保留字可能在将来被作为新的关键字出现的。

注意:
随着JavaScript版本的更新,保留字可能会成为关键字。所以,这里所说的关键字和保留字是具有时效性的。

七、字符集

1、 字符集概述

字符集是多个字符的集合,字符集种类繁多,每个字符集包含的字符个数不同。

常见的字符集:ACSII字符集、GB2312字符集、Unicode字符集

注意:1.3版本之前的JavaScript并不支持Unicode编码

官网:http://www.unicode.org/

3、标准化

Unicode编码允许使用多种方法对同一个字符进行编码。在文本编辑器中,不同编码的显示结果是一

模一样的,但二进制编码表示是不一样的, 在计算机里也不想等。

Unicode标准为所有字符定义了-个首选的编码格式,并给出了一个标准化的处理方式将文本转换为一种适合比较的标准格式, JavaScript会认为它正在解析的程序代码已经 是这种标准格式,不会再对其做标准化处理。

八、变量与常量

1、变量是什么

定义:变量是存储数据信息的容器

描述:变量被认为是有名字的容器。在代码中,使用变量名为值命名,需要遵守一定的规则

注意:

  1. 在JavaScript代码中,必须先声明一个变量,这个变量才能被使用

  2. JavaScript中的变量是弱类型的,也称之为松散类型。所谓的弱类型/松散类型就是可以用来保存任何类型的数据。

补充:强类型就是在定义变量的时候就确定变量的类型

语法结构:

var 变量名称 = 变量的值

因为JavaScript是弱类型的变量,所以

  • 定义变量的时候,不初始化值,就会不清楚变量的类型
  • 只有在定义变量的时候初始化值 ,才知道变量的值的类型
/* 变量的定义的语法结构* 语法结构: var 变量名称 = 变量的值* JavaScript的变量时弱类型* 定义变量时,不初始化值,-- 不清楚改变量的值的类型* 只有在定义变量的时候初始化值 -- 才知道变量的值的类型*/// 1.定义变量,并初始化值
var v = "测试内容"; /* 定义变量:变量的定义,并初始化值 */
console.log(v); /* 调用变量 */// 2.定义变量,不初始化值
var v1; /* 定义变量,没有初始化值 */
console.log(v1); /* 结果为undefined(未定义) */v1 = "测试内容"; /* 初始化值(赋值) */
console.log(v1);// 3.多个变量同时定义,变量之间使用逗号分隔
var v2 = 100,v3;
console.log(v2); //100
console.log(v3); //undefind

2、变量的声明

在JavaScript代码中,使用变量前应当先声明。变量是使用关键字var声明的。

  • 只声明未初始化,变量的值自动取值为undefined。

    • 一行代码只声明一个变量:

      var sum; //值为undefined
      var msg; //值为undefined
      
    • 一 行代码声明多个变量:

      var x,y,z; //值为undefind
      

命名规则

变量的命名需要遵守一定的规则的, 具体规则如下:

  • 必须以字母、下划线(_)、美元符号($)开始。
  • 不能以数字开头。
  • 不能使用关键字和保留字作为名称。
  • 由于JavaScript是区分大小写的, 大写字母与小写字母并不冲突。
  • 名称最好有明确的含义。
  • 可以采用“匈牙利命名法”、“下划线命名法”、“小驼峰命名法”或“大驼峰命名法”之一 ,在开发团队内进行协调统一。
var woLong= '卧龙学苑';//小驼峰方式命名
var WoLong= '卧龙学苑;//大驼峰方式命名
var wo_long= '卧龙学苑;//下划线方式命名

3、声明的问题

(1)重复定义变量

同一个变量名被多次定义

将之前的变量在内存的空间内进行销毁,再创建变量

/* 重复的定义* JavaScript中重复定义变量 -- 语法是允许的* 重复定义的时候 -- 先将之前的变量在内存的空间内进行销毁,再创建变量
*/
var v = "测试内容";
console.log(v); /* 测试内容 *//* 重新定义变量v,并初始化 */
var v = 100;
console.log(v); /*  */

(2)重复赋值

同一个变量被多次赋值

// 重复的赋值
var v = "测试内容";
console.log(v); //测试内容/* 重新给变量v进行赋值 */
v = 100;
console.log(v); // 100

(3) 遗漏的定义

直接调用没有定义的变量

/* 变量没有定义,直接调用* 结果 -- (报错)变量名 is not defined* 原因 -- 该变量没有定义*/
console.log(v); /* 只定义变量,但不初始化值
*/var var1;
console.log(var1);  /* undefined */

4、变量的使用

对声明的变量既可以读取操作,也可以赋值操作。

  • 读取操作
var message;//只声明未初始化
console.log(message);//输出undefined
varmsg="卧龙学苑";//声明并初始化
console.log(msg);//输出this is message

这里:是通过变量名找到变量对应存储的数据内容。真正使用的是数据内容,而不是变量。

  • 赋值操作
var message;//只声明未初始化
message = "卧龙学苑";//初始化操作
var msg= "卧龙学苑";//声明并初始化
msg = "提供国内最好的前端课程";//重新赋值

5、常量是什么

定义:常量就是-个只读( read-only)的变量。
描述:常量与变量类似,同样于存储数据信息。只是常量的数据一旦被定义, 便不能被修改。
注意:
1. 常量名习惯使用全大写形式。

2.ECMAScript 5新增了声明常量使用的关键字const。
3.如果省略const关键字, JavaScript会认为是一 个变量。

ECMA 5 之前的版本:

  • 语法没有提供常量的定义
  • 人为规定定义的是常量,但是使用的语法依旧是变量的语法

ECMA 5 及之后的版本:

  • 提供了dinginess常量的依法
    const 常量名 = 值;
  • 重新赋值 – 报错
    TypeError: Assi gnment to constant variable.
  • 重复定义变量 – 报错
    SyntaxError: Identifier ‘C1’ has already been declared
  • 重复定义成常量 – 报错
    SyntaxError: Identifier ‘C1’ has already been declared
/* ECMA 5 之前的版本* 语法没有提供常量的定义* 人为规定定义的是常量,但是使用的语法依旧是变量的语法*/
var C = 100; /* 语法上是变量,人为规定是常量 */
C = 200; /* 语法上是变量 *//* ECMA 5 及之后的版本* 提供了dinginess常量的依法const 常量名 = 值;* 重新赋值 -- 报错TypeError: Assi gnment to constant variable.* 重复定义变量 -- 报错SyntaxError: Identifier 'C1' has already been declared* 重复定义成常量 -- 报错SyntaxError: Identifier 'C1' has already been declared*/const C1 = 100;/* 不能重新赋值 */c1 = 200;const C1 = 200;var C1 = 200;/* 定义变量或常量的名称* 定义变量名称 -- 全大写或大小写混合* 定义常量名称时 -- 全大写*/

JavaScript时脚本语言 , 语法规则相对灵活.

定变量或常量时,允许不写修饰符(var或const)

没有var或const关键字时,定义的默认为变量.

但是不推荐不使用关键字

var v = 100; //变量
const C = 200; // 常量/* JavaScript时脚本语言 -- 语法规则相对灵活* 定变量或常量时,允许不写修饰符(var或const)* 没有var或const关键字时,定义的默认为变量*/
s = 300;s=400;

6、常量的声明

常量定义的时候,必须初始化值

/* 常量的定义 -- 必须定义时,同时初始化值* 只定义,不初始化值 -- 报错SyntaxError: Missing initializer in const declaration*/
const C;
console.log(C);

7、变量与常量的区别

变量:

  1. 定义变量使用var关键字
    2.定义变量使用小写
    3.变量允许重复定义或重复赋值
    4.变量允许只定义,但不初始化值
    5.变量的值允许改变的

常量:

1.定义常量使用const关键字
2.定义常量使用大写
3.常量不允许重复定义或重复赋值
4.常量必须定义并初始化值
5.常量的值不允许改变的

JavaScript基础简单入门相关推荐

  1. DartWeb基础—简单入门

    DartWeb基础-简单入门 DartWeb的前面是Dart,所以需要先搭建好Dart开发环境,再进行下面的工作 下载Dartium浏览器 Dartium是Chromium的一个特殊的版本,里面包含D ...

  2. JavaScript 基础知识 - 入门篇(二)

    11. 函数 11.1 函数的基础知识 为什么会有函数? 在写代码的时候,有一些常用的代码需要书写很多次,如果直接复制粘贴的话,会造成大量的代码冗余: 函数可以封装一段重复的javascript代码, ...

  3. JavaScript基础教程——入门必看篇

    JavaScript他是一种描述性语言,其实他并不难学,只要用心学,一定会学好,我相信大家在看这篇文章的时候,一定也学过HTML吧,使用JavaScript就是为了能和网页有更好的交互,下面切入主题. ...

  4. javascript基础系列(入门前须知)

    -----------------------小历史---------------------------- javascript与java是两种语言,他们的创作公司不同,JavaScript当时是借 ...

  5. JavaScript 基础1入门、变量、运算符、表达式、进制

    JavaScript 基础1 1.什么是javascript? 2.JavaScript能做什么? 3.JavaScript的历史 4.JavaScript入门 5.编写JS及如何运行JS 5.1.外 ...

  6. JavaScript基础语法入门

    文章目录 一. JS简介 二. JS基础语法 1. 在HTML中引入JS 2. 第一个JS程序 3. 变量 4. JS的内置类型 4.1 数字 4.2 字符串 4.3 布尔类型 4.4 undefin ...

  7. 动态规划之背包问题的一些基础简单入门题

    前言 参考视频教程洛谷试练场 普及组 动态规划的背包问题 主要有01背包问题.完全背包问题.分组背包问题. 01背包问题一般从右往左推: 完全背包问题一般从左往右推: 分组背包一般用01的方法但需要记 ...

  8. javascript基础快速入门

    javascript 是基于对象和事件驱动的脚本语言. 1.javascript 的基本标签 <script type="text/javascript">js代码&l ...

  9. 【Web】JavaScript——基础语法入门篇

最新文章

  1. 如何让滚动条出现在左边
  2. IntelliJ IDEA 常用设置
  3. shiro表单认证(系统默认的form认证器)
  4. html ondrop未触发,javascript – TableDnD onDrop事件未触发
  5. 小米11pro和vivox60哪个好
  6. lucene4.7 高亮功能(八)
  7. 【性能优化】 之 RAC架构性能优化
  8. python——shape 与reshape
  9. AppD方法:Java 9支持
  10. 引入宽字符error: converting to execution character set: Invalid or incomplete multibyte or wide character
  11. 【HTML/CSS】单位小结
  12. oracle10g rac升级到10.2.0.5
  13. WinJS实用开发技巧(5):学习资料推荐
  14. 通用的“关于本软件”对话框
  15. vs2015中安装EntityFramework
  16. Liunux 编程遇到的SIGBUS信号
  17. spring实战笔记6---springMVC的请求过程
  18. 网络安全基础——NTFS安全权限
  19. c语言 switch整型,c语言switch型别强制转换的问题。
  20. 【脚本】自动统计B站up主投稿视频时长

热门文章

  1. c++ 第五次作业(计算器第三步)
  2. ostringstream使用
  3. L1 - 闭包和原型链
  4. ids for this class must be manually assigned before calling save():Xxx
  5. intellij idea 12 搭建maven web项目 freemarker + spring mvc
  6. Java SE Technologies at a Glance
  7. CCF201709-4 通信网络(100分)【DFS+BFS】
  8. Bailian2720 大象喝水【模拟】
  9. Bailian2909 字符串加空格【指针】
  10. pandas 下的 one hot encoder 及 pd.get_dummies() 与 sklearn.preprocessing 下的 OneHotEncoder 的区别