一.基本语法
1.1HTML中执行JavaScript的方法
<html><head>
<script>
alert('Hello, world');
</script></head><body>
...
</body></html>
另外一种方式
<html><head>
<script src="/static/js/abc.js"></script></head><body>
...
</body></html>
1.2.浏览器调试JavaScript代码
- 谷歌浏览器F12打开控制台。
- 找到Console可以直接输入JS代码执行
- 如console.log(a)可以输出变量a的值
1.3.JavaScript中语句的结束
可以不加分号,但加上可读性更好,并可以减少错误。
二.数据类型和变量
2.1数据类型
JavaScript中的数据类型包括:Number,字符串和布尔值。
Number
Number是JS中唯一表示数的类型,不想Java等强类型语言一样区分整型、浮点型甚至不同位数的整型等。
可以进行加(+),减(-),乘(*),除(/),取余数(%)等运算。
字符串
用单引号或双引号括起来的文本。
布尔值
只有true和false两个值
布尔值可以进行的运算:&&(与),||(或),!(非)
结果为布尔值的运算:比较运算符,包括>,<,>=,<=, ==, ===, != ,!==等
需要注意的是==和===:
== 自动转换数据类型后再比较(有时会有较费解的结果)
=== 不转换数据类型,如果类型不相同返回false,如果一致再比较
应该尽量使用===比较
需要注意的
- NaN是一个特殊的Number,与其他所有值都不相等,包括他自己
NaN===NaN; // false
- 浮点数相等比较
1 / 3 === (1 - 2/3) ; // false
- null和undefined
null表示空值,
undefined表示未定义,仅仅在判断函数参数是否传递的情况下有用
数组
JS中的数组不区分类型,可以在一个数组中有不同类型的值
用[]括起来
var a = [1,2,3.12,"hello",null,true];//定义
var b = a[1] + 1;//访问
a[1] = 3;//修改
对象
键值对组成的无需集合。键都是字符串类型,值可以为任意类型
//定义
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
//获取对象的属性
person.name; // 'Bob'
person.zipcode; // null
2.2变量
变量名:由英文、数字、$和_组成,且不能用数字开头。也不能是JS的关键字,如if,while,for等。
声明变量使用关键字var
var a; // 申明了变量a,此时a的值为undefined
var $b = 1; // 申明了变量$b,同时给$b赋值,此时$b的值为1
var s_007 = '007'; // s_007是一个字符串
var Answer = true; // Answer是一个布尔值true
var t = null; // t的值是null
JavaScript是一种动态语言,即变量的类型不固定。如用var定义了一个变量,并把一个数值赋给它,在之后可以再把字符串赋给同一个变量。这在Java,C等静态语言中是不允许的。
2.3strict模式
JavaScript允许变量不经过经过var声明就使用。这种情况下,该变量自动成为全局变量。这一特点容易引发一些问题。
由此提出了strict模式。在strict模式下,变量必须经过var的声明才能使用。
廖大提倡所有的JavaScript代码都应在strict模式下运行。
即在JavaScript代码的第一行加上:
'use strict'
参考资料:廖雪峰JavaScript教程