一、基本语法
1、基本的句法和变量
1.1 语句
Javascript是一行一行的执行(line),一般情况下,每一行就是一个语句,语句(statement)之间用分号分割(;)
statement:为了完成某种任务而进行的操作。 例如:
expression:为了得到返回值的计算式。例如:
表达式不需要分号分割,有分号隔离就成了语句;
1.2 变量
变量是对值的引用,使用变量等同于引用一个值每一个变量都有一个变量名。
变量的声明:使用 var 例如:var a
变量的赋值:使用 var 例如:var a = 1 (通过=建立引用关系)
声明一个变量但没有赋值,此时变量值为 undefined ;JavaScirpt是一种动态类型语言,也就是说,变量的类型没有限制,可以赋予各种类型的值。
1.3 变量提升
JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升
console.log(a);var a = 1;此时输出的是 undefined,并不会报 a未定义的的错误。
1.3 标识符
- 第一个字符可以是任意Unicode字母,以及美元符号($)和下划线(_)。
- 第二个字符及后面的字符,还可以用数字。
注意:保留字不能作为变量名。
Javascript的注释方式有两种:单句注释 // ; 文本注释 /*....*/
1.4 语句(条件语句 和 循环语句)
1. if语句(条件语句)
2. 多个if...else 一起使用的时候,可以转换为 switch语句
需要注意的是,switch语句后面的表达式与case语句后面的表示式,在比较运行结果时,采用的是严格相等运算符(===),而不是相等运算符(==),这意味着比较时不会发生类型转换。 switch结构不利于代码重用,往往可以用对象形式重写。
3. 循环语句
2.for(initialize,test,increment){}
3. lable: 如:go:
温馨提示:break: 结束当前的当前层循环;continue: 跳过本次循环(loop)
2.1 概述
JavaScript语言的每一个值,都属于某一种数据类型。JavaScript的数据类型,共有六个类别和两个特殊值。
六个类别的数据类型又可以分成两组:原始类型(primitive type)和合成类型(complex type)。
1. 原始类型包括三种数据类型。
数值(number):typeof 1 // number
字符串(string): typeof "1" // string
布尔值(boolean)// typeof false //false
2. 合成类型也包括三种数据类型(typeof complexType // Object)
对象(Object):使用instanceof 关键字判断 var a = {} a instanceof Object // true
数组(Array)
函数(Function)
对象和数组是两种不同的数据组合方式,而函数其实是处理数据的方法。除了上面这六个类别,JavaScript还定义了两个特殊值null和undefined。
if (typeof v === "undefined"){ // ... }
typeof window // "object"
typeof {} // "object"
typeof [] // "object"
typeof null // "object"
3. 技巧总结
> 使用if语句始终带有{}
> 判断一个变量是否定义,使用关键字typeof
> 语句后面都加 分号(;)