js 基本概念

版权声明:转载请标明原作者 https://blog.csdn.net/pf_frontWord/article/details/88602766

语法

JavaScript的语法大量借鉴了C及其他类C语言(如java)。

大小写区分

要理解的第一个概念就是ECMAScript中的一切(变量、函数名和操作符)都区分大小写,变量名test和变量名Test是两个不同的变量。

标识符

所谓的标识符,就是指变量、函数、属性的名字,或者函数的参数。标识符的组成规则:
第一个字符必须是一个字母、下划线或者一个美元符号($)开头
其他的字符可以是数字、字母、下划线、美元符号。
按照惯例,标识符的第一个单词小写,剩下的单词的首字母要大写,也就是采用驼峰式的命名规则。如var newWord;

注释

单行注释: // 这是单行注释
多行注释: /*这是多行注释*/’

严格模式

es5中引入了严格模式(strict mode)的概念,在严格模式下es3中的一些不确定的行为将得到处理,也会对某些不安全的操作抛出错误。要在整个脚本中使用严格模式,可以在顶部添加如下代码:

'use strict';

他是一个编译指示,用于告诉JavaScript引擎切换到严格模式,这是为了不破坏es3的语法而特意选定的语法。除了在顶部上方添加严格模式,也可以在函数体内添加,例如:

function doSomething() {
      'use strict'
      // 函数体
}

语句

JavaScript中语句以一个分号(;)结尾,如果省略分号,则由解析器确定语句的结尾。如下:

var a = 10;  // 推荐使用
var b = 1 // 有效语句,但不推荐使用

虽然语句的结尾的分号不是必须的,但是建议不要省略它,因为加上这个分号可以避免很多错误,比如代码结尾处没有分号到处压缩错误,加上分号也会在某些情况下增加代码的性能,因为这样解析器就不用花时间去推测要在哪里添加分号。

变量

JavaScript中的变量是松散型的,所谓的松散型就是可以用来保存任何类型的数据。换句话说每个变量就是一个用于保存值的占位符而已。定义变量需要使用var操作符,后面需要跟变量名,如下所示:

var message;

该段代码定义了一个message的变量,该变量可以用来保存任何值(像这样未经过初始化的变量会保存一个特殊的值 — undefined),所以可以在声明变量的时候给变量赋值,如下所示:

var message = 'hi';

变量message中保存了一个字符串值为’hi’,像这样的初始化变量并不会把它标记为字符串类型,初始化的过程就是给变量赋值这么简单,因此,可以在修改变量值的时候也可以修改变量值的类型,如下所示:

var message = 'hi';
message = 10;    // 有效,但不推荐

在这个例子中,首先定义了一个变量message并且赋值为’hi’,然后又被一个数字值为10取代,从字符串类型变成了数字类型,但是不建议修改保存值的类型

需要注意一点的是,使用var声明的变量将成为定义该变量的作用域中的局部变量,也就是说,如果在函数体内使用var定义一个变量,那么这个变量将在函数退出后被销毁,例如:

function doSomething() {
      var message = 'hi';  // 局部变量
}
doSomething();   // 调用函数
alert(message);   // undefined;

当doSomething函数被调用时,就会创建message变量并且赋值,当函数调用完成之后,该变量message将会被立即销毁。不过可以像下面这样省略var操作符从而创建一个全局变量。如下所示:

function doSomething() {
       message = 'hi';  // 全局变量
}
doSomething();   // 调用函数
alert(message);   //  'hi'

这个函数中省略了var操作符,因此message就变成了一个全局变量,只要调用过一次doSomething函数,这个message变量就被创建并且赋值了。虽然省略var操作符可以定义全局变量但是这并不推荐。因为这样定义将会变得很难维护,也会导致不必要的混乱(全局污染)。

可以使用一条语句定义多个变量,用逗号分开即可,如下所示:

var message = 'hi', found = false, age = 10;

这个例子定义并初始化了3个变量。

数据类型

JavaScript中有5种简单的数据类型(也称为基本数据类型):Undefined,Null,Boolean,Number和String。还有一种复杂数据类型(也称为引用类型) ---- object。下篇再讲数据类型

猜你喜欢

转载自blog.csdn.net/pf_frontWord/article/details/88602766