快速入门
js代码可以放在网页的任何地方,通常是放在 <head>
中,或者放在单独的 .js
文件中,通过<script src=""></script>
引入,浏览器会按顺序执行
基本语法
每条语句 ;
结尾, 不强制要求加上, 浏览器负责执行js代码的引擎会自动补上, 但某些情况会改变语义, 所以尽可能别省略.
注释与c++类似 // /** **/
数据类型和变量
Number
js不区分整数和浮点数,统一用Number表示
比较运算符
js允许对任意类型作比较
1
2
false == 0; // true
false === 0; // false
==
会自动转换类型, 有时候会得到诡异的结果===
如果类型不一致 会返回false
NaN
这个特殊的number与任何值都不相等, 包括本身, 需要通过isNaN()
函数 来判断
1 isNaN(NaN); // true
浮点数的比较, 计算机无法精确表示无限循环小数, 所以
1 1 / 3 === (1 - 2 / 3); // false一般是计算差值的绝对值 是否小于某个阈值
1 Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true
null和undefined
设计者希望用null表示空值, undefined 表示值未定义, 但通常区分两者的意义不大, 一般情况都是使用 null
数组
[]
表示, 或者 new Array(1,2,3)
函数来实现
对象
js对象由键值组成的无序集合
变量
js是动态语言, 变量可反复赋值, 且数据类型任意, var 声明变量 只能申明一次, 如果未用var来声明变量, 那么该变量会自动引申为全局变量, 如果同一个文件, 恰好都用了未用var声明的变量, 可能产生难以调试的错误结果.
ECMA(制定js代码规范的组织)推出了 strict 模式, 如果变量未使用 var声明,浏览器会报错(前提是浏览器支持), 开启方法 在js代码第一行加上 'use strict';