JavaScript极简入门教程(一):基础篇
阅读本文需要有其他语言的编程经验。
开始学习之前
大多数的编程语言都存在好的部分和差的部分。本文只讲述 JavaScript 中好的部分,这是因为:
1.仅仅学习好的部分能够缩短学习时间
2.编写的代码更加健壮
3.编写的代码更加易读
4.编写的代码更加易于维护
弱类型和强类型
通常来说,越早的修复错误,为之付出的代价就越小。强类型语言的编译器可以在编译时检查某些错误。而 JavaScript 是一门弱类型语言,其解释器无法检查类型错误,但实践表明:
1.强类型能够避免的错误并不是那些关键性错误
2.弱类型能够带来灵活性,也无需背上强类型的包袱
JavaScript 相关标准
ECMA-262 标准定义了语言 ECMAScript。我们所熟知的 JavaScript 和 ActionScript 都是基于 ECMAScript 的。目前主流使用 ECMA-262 第五版,Google 的 V8 引擎就是对此的实现。
Hello JavaScript
JavaScript 是一门脚本语言,需要解释器解释执行。你可以在浏览器中解释执行 JavaScript 或者直接使用 node.js,node.js 整合了 Google 的 V8 JavaScript 引擎。由于 node.js 使用非常方便,由此,这里我使用 node.js 来解释执行 JavaScript。现在看第一个 JavaScript 程序:
// test.js
console.log("Hello JavaScript");
执行此程序:
node test.js
语法
注释
JavaScript 使用和 C++ 相同的注释方式,// 用于单行注释,/* */ 用于多行注释。
数字类型
JavaScript 仅有一种数字类型,也就是 64 位浮点数。数字类型有两个特殊的值 NaN 和 Infinity,NaN 的含义为 not a number(不是一个数),使用函数 isNaN 检查是否为 NaN,值 Infinity 表示无穷大。在 Math 对象中,有一组操作数字的方法,例如:Math.floor 方法用于向下取整。
字符串
字符串 literal 可以被包裹在单引号或者双引号中,转义字符使用 \(和其他很多语言没有什么不同)。JavaScript 中每个字符都是两个字节,其使用 Unicode 字符集。字符串有一个 length 属性:
"Hello".length // 值为 5,注意不是 "Hello".length()
字符串是不可以改变的(和 Lua 一样),除了这里说的 length 属性,还有一些方法,例如:
'cat'.toUpperCase() === 'CAT'
语句
var 语句用于声明局部变量,否则变量为全局变量,未初始化的变量的值为 undefined:
function f() {
var localVar = 123;
globalVar = 456;
var i; // i 的值为 undefined
};
f();
console.log(globalVar); // ok
console.log(localVar); // 错误,localVar 没有被定义
由 {} 包裹的一组语句被叫做语句块(Block),和其他语言不同的是,JavaScript 中的函数会而块不会创建新的作用域,例如:
{
var v = 123;
}
console.log(v); // ok
if 语句
if (expression)
statement
或者