Reference : JavaScript教程 - 廖雪峰的官方网站
数据类型
Number
JavaScript 不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:
123;
0.456;
1.2345e3;
-99;
NaN;
Infinity;
字符串
字符串是以单引号'
或双引号"
括起来的任意文本,比如'abc'
,"xyz"
等等。
深入学习:JavaScript | 数据类型与变量
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有true
、false
两种值。
-
&&
与运算 -
||
或运算 -
!
非运算
比较运算符
>
<
>=
<=
==
===
-
==
比较会自动转换数据类型再比较,不建议使用 -
===
不会自动转换数据类型,如果类型不一致,返回false
,建议使用 -
注意NaN不等于任何Number型的值,包括自己
NaN === NaN; // false
唯一能判断NaN的方法是通过isNaN()
函数
isNaN (NaN); // true
数组
数组是一组按序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型。数组用[]
表示,元素之间用,
分隔。
var arr = [1, 2, 3.14, 'Hello', null, true]; // recommended
var arr = new Array (1, 2, 3);
出于代码的可读性考虑,建议用[]
创建数组。
数组中的元素可以通过下标访问或修改。
深入学习:数组 - 廖雪峰的官方网站
深入学习2:Array的常用方法 | 基础:函数与方法、高阶函数
对象(Object)
JavaScript的对象是一组由键-值对组成的无序集合,其中键作为对象的属性名。例如:
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
通过变量名.属性名
的形式可以访问字典中的值:
> person.name;
< "Bob"
> person.age;
< 20
深入学习:对象 - 廖雪峰的官方网站
深入学习2:Map和Set - 廖雪峰的官方网站 | 掌握Map
和Set
类
深入学习3:iterable - 廖雪峰的官方网站 | 掌握for ... of
循环和forEach
方法
深入阅读4:generator - 廖雪峰的官方网站
变量
变量名由英文字母、数字$
和_
组合,不能用数字开头,且变量名不能为保留词。JavaScript严格区分大小写,变量名也不例外。
申明一个变量用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中,使用=
赋值。可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。这种变量本身类型不固定的语言被称为动态语言。
如果要显示变量x
的值,用console.log(x);
语句即可在控制台输出中看到。使用console.log()
代替alert()
的好处是可以避免弹出烦人的对话框。
strict模式
JavaScript在设计之初,为了方便初学者学习,并不强制要求用var
申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过var
申明就被使用,那么该变量就自动被申明为全局变量。这个设计特性带来了使用上的漏洞。
为了修补这一严重设计缺陷,ECMA规范推出了strict模式,在strict模式下运行大的JavaScript代码,强制通过var
申明变量,未使用var
申明变量就使用的,将导致运行错误。
启用strict模式的方法是在JavaScript代码的第一行写上:
'use strict';
这是一个字符串,不支持strict模式的浏览器会把它当做一个字符串语句执行,支持strict模式的浏览器将开启strict模式运行JavaScript。
网友评论