重学JavaScript 1.md

重学JavaScript 1.md

1.基本概念

  • 语法
  • 数据类型
  • 流程控制语句
  • 函数

1.1 语法

1.1.1 区分大小写

ECMAScript中的一切都要区分大小写(变量、函数名、操作符);例如:test和Test分别表示两个不同的变量,而函数名不能使用typeof,因为它是关键字,但是typeOf就可以是个有效的函数名。

1.1.2 标识符

标识符:即变量、属性、函数的名字,或者函数的参数。
规则:由数字、下划线、字母、$组成,不能由数字开头。
一般惯例按照驼峰命名法;不能将关键字、保留字以及true、false和null作为标识符。

1.1.3 js注释

是用了C风格的注释,包括单行注释和块级注释:

  • 单行注释

    // 单行注释

  • 多行注释

    /*

    * 这是一个多行

    * (块级)注释。注:第二三行的星号不是必须的,只是为了提高代码可读性。

    */

1.1.4 严格模式(strict mode)

严格模式(ECMAScript 5中引入):为js定义了一种不同的解析与执行模型,在严格模式下ES 3中的一些不确定的行为将得到处理,对某些不安全的操作也会抛出错误。严格模式下,js执行结果会有很大不同。

要在整个脚本中启用严格模式,需要在顶部添加如下代码:

"use strict"

该代码是一个编译指令,切换js引擎到严格模式。

如果函数内部的上方包含这条编译指令,可以指定函数在严格模式下执行:

1
2
3
4
function doSometing (){
"use strict"
// 函数体
}

1.1.5 语句

ECMAScript语句以一个分号结尾。增加代码可读性以及性能,降低代码出错率。

2.变量

js作为弱类型语言,它的变量是松散的,即可以保存任何类型的数据。说白了就是每个变量仅仅作为保存值的占位符而已。

定义变量时要用var(关键字)操作符,后跟变量名(标识符),例如:

var message ;

此代码定义了一个名message的变量,可以用来保存任何值(未初始化时,它会保存一个特殊的值–undefined)。也可以在定义变量时直接初始化。初始化的过程就是给变量赋一个值。

注:var操作符定义的变量,将成为定义该变量的作用域中的局部变量。 即,如果在函数中使用var定义一个变量,那么变量在函数退出后就会被销毁。

1
2
3
4
5
function test (){
var message = 0; //局部变量
}
test();
alert(message); //报错!!! 访问不到

可以省略var操作符来创建一个全局变量,但不推荐,因为在局部作用域中定义全局变量将会很难维护

使用一条语句定义多个变量,将每个变量使用逗号隔开。初始化化或未初始化均可。

1
2
3
var message = "hi",
found = false, // 缩进提高代码可读性.
age = 22;

3.数据类型

  • 基本数据类型(5种):Number, String, Boolean, Null, Undefined
  • 引用数据类型:Object

ECMAScript不支持任何形式创建自定义类型,所有的值最终都是以上6种数据类型之一。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×