1、前言
学习完js在页面的引入使用,下面是要了解下js的语法了。学会了语法才好升级打怪。so,Let's go.
2、区分大小写
ECMAScript中的一切(变量、函数名、操作符)都区分大小写。这就意味着,变量名test和变量名Test分别代表着两个不同的变量。
3、标识符
含义:
所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。格式规则如下:
- 第一个字符必须是一个字母、下划线(_)或一个美元符号($);
- 其它字符可以是字母、下划线、美元符号或数字;
- 标识符的字母可以为扩展的ASCII或者Unicode字母字符,但不推荐这样做;
- 按照惯例,标识符采用驼峰命名法。也就是第一个字母小写,剩下的每一个单词的首字母大写。例:myCar,myCarColor
注: 不能将关键字、保留字、true、false、和null用作标识符。
4、注释
ECMAScript使用C风格的注释,包括单行注释和多行注释。
单行注释:
// 单行注释
多行注释
/*
* 这是个多行
* (块级)注释
*/
5、严格模式
ECMAScript5引入了严格模式这个概念。严格模式是为了js定义了一种不同的解析和执行模型。在严格模式下,ECMAScript3中一些不确定的行为将会得到处理,而且对某些不安全的操作也会抛出错误。
在整个脚本中启用严格模式:
在顶部添加如下代码:
"use strist";
在指定函数中启用严格模式:
function dosometing(){
"use strist";
// 函数体
}
6、语句
ECMAScript中的语句以一个分号结尾。语句结尾的分号不是必需的,但建议不要在任何时候省略它。
7、关键字和保留字
js中的关键字可用于 表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScription的全部关键字:
break、else、new、var、 case、 finally 、 return、 void 、 catch 、for 、switch 、 while 、 continue、 function 、this 、 with 、default 、 if 、 throw 、 delete 、 in 、 try 、do 、 instranceof、 typeof
ECMAScript还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途,但它们有可能将来被用作关键字。下面是ECMAScript第3版定义的全部保留字:
abstract 、 enum 、int 、 short 、 boolean 、export 、interface、 static、 byte 、extends 、 long 、 super 、 char 、 final 、native 、synchronized 、 class 、float 、 package 、throws 、 const 、goto 、private 、transient 、 debugger 、 implements 、protected 、 volatile 、 double 、import 、public
在代码中使用关键字作为标识符在大多数浏览器中都会倒是“Identifier Expected”(缺少标识符)错误。而使用保留字可能不会导致同样的错误,这要视具体的浏览器而定。一般来说,最好不要使用关键字和保留字作为标识符,一遍与ECMAScript未来的版本保持兼容。
ECMA-262第五版还对eval
和 arguments
做了限制,在严格模式下,这两个名字不能作为标识符或属性名,否者会抛出错误。
8、变量
ECMAScript的变量是松散类型的,可以用来保存任何类型的数据。定义变量使用var
操作符,ES6定义变量使用let
操作符.。
var message;
这行代码定义了一个 message的变量,未初始化赋值。像这样为经过初始化的变量,会保存一个特殊的值--undefined。
局部变量和全局变量
使用var
定义的变量在其定义该变量的作用域内为局部变量。也就是说,如果在函数中使用var
定义一个变量,那么该变量在函数执行完毕退出后就会被销毁。例如:
function test(){
var message = 'hi'; // 局部变量
}
test();
alert(message) // 错误
省略var
操作符,声明的变量为全局变量。可以在函数外部的任何地方被访问到。例:
function test(){
message = 'hi'; // 全局变量
}
test();
alert(message) // 'hi'
使用一条语句定义多个变量
var message = 'hi',fond = 'qq',age = 12;
用逗号分隔开即可。
注: var
声明的变量存在变量提升;函数提升问题。相关网址
9、小尾巴
亲身经历,唯有熟练掌握基础,才能快速高效的开发。js填坑之路,路漫漫其修远兮,吾将上下而求索。