javaScript入门 - 基础语法
操作环境: Mac GoogleChorme
简介:
轻量级脚本语言,也是一种嵌入式语言。使用领域主要有:浏览器的平台化,Node.js, 数据库操作,移动平台开发等。
编译测试代码,可打开Chorme浏览器Console控制台,Shift + Enter用于代码换行,Enter用于代码执行。比如:

基础:
语句以 ';' 结尾,以'//' 为单行注释, '/**/'为多行注释
// javaScript以;结尾, 可以使用多个,但不推荐没有意义 /* 1. 多行语句可以写在一行内,但不推荐 3. 声明局部变量使用: var */ var num = 123;;;
若变量定义后,未赋值的话,默认为'undefined', 即为未定义的
var a; console.log(a); // undefined
变量的类型没有限制,变量可以随时改变。若重复声明已经存在的变量,是无效的。
// 修改变量的类型, 这个与lua下的变量类似 var param = 10; param = 'hello JavaScript'; console.log(param); // hello JavaScript // 重复声明已存在的变量,无效; 在lua中会覆盖 var a = 1; var a; console.log(a); // 1
标识符命名与其他语言类似,第一个字符非数字,可以为下划线。不可使用保留字。
/* 保留字相关: arguments、break、case、catch、class、const、continue、debugger default、delete、do、else、enum、eval、export、extends、false、finally for、function、if、implements、import、in、instanceof、interface、let new、null、package、private、protected、public、return、static、super switch、this、throw、true、try、typeof、var、void、while、with、yield */ // 注意: JavaScript可以使用中文作为标识符 var 字符 = '使用中文,牛逼啊' console.log(字符);
javaScript使用 { } ,将多个语句组合在一起,称为block(区块)。但是对于var来说,是不构成单独的作用域的。
// var 在block中不为单独的作用域 { var a = 1; } a // 1 // 因此for循环下使用var作为索引会有这样的问题: for(var i = 0; i < 10; ++i) { } console.log(i); // 10, 为了避免这种问题,可使用let
JavaScript比较数据的相等,有两种: '==' 和 '==='。前者会对变量进行转换,后者不会。
var a = ('12' == 12); console.log(a); // true var b = ('12' ===12); console.log(b); // false // 注意: switch语句使用的相等运算符是:===
数据类型
JavaScript内置数据类型有:
number: 整数和小数
string: 字符串
boolean: 布尔类型,true和false
undefined: 未定义的,一般用于函数传参时,判定参数是否存在
nulll:不存在的,用于判定对象是否存在
object: 对象,细分化有array,function
// 通过typeof可判定对象类型,比如: typeof(10); typeof(10.9); // "number" typeof(true); // "boolean" typeof(''); // "string" typeof(undefined); // "undefined" typeof(null); // "object" 历史原因导致,为了兼容 typeof([]); typeof({}); // "object" function getResult() {} typeof(getResult) // "function"
在if判定中,注意一些数据对象的转换, 主要是null, undefined, false,空字符,0,NaN,会默认转换为false
!null // true !undefined // true !'' // true !"" // true !NaN // true !0 // true !false // true ![] // false !{} // false
NaN表示非数字,一般出现在将字符转换为数字时出现,比如:
parseInt('x') // NaN
5 - 'x' // NaN
// 它不等于任何值,甚至于自身
NaN === NaN // false
// 它与任何数运算,得到的都是NaN
NaN + 5 // NaN
...

浙公网安备 33010602011771号