今天我们正式开始学习JS。学习JS之前我们对html和css已经有了基本的了解,也了解了浏览器的基本工作流程,也了解了JS的历史。
第一:我们要知道JS的基本组成:
ECMAScript 基础语法
DOM 文档对象模型
BOM 浏览器对象模型
第二:JS是世界上用的最多的脚本语言,脚本语言是不需要编译,直接运行时边解析边运行的语言,其特点是:
1. 简单易用
可以使用任何文本编辑工具编写 记事本,其它编辑器
只需要浏览器就可以执行程序
2. 解释执行
事先不编译
逐行执行
无需进行严格的变量声明
3. 基于对象
内置大量现成对象,编写少量程序可以完成目标
第三:了解JS的几种书写位置,如页面中有html的标签,尽量写在它的后面。
第四:要了解什么是变量,它有命名规则的而且它可以重复被赋值,不能随便命名。变量是用来帮助我们往计算机中存储数据的,变量的命名一定要有意义,一看变量名就知道是什么意思,变量名必须以字母或下划线“_”或$开头,变量可以包含字母(从A至Z的大小字母),数字,下划线或是$,JavaScript严格区分大小写,computer和Computer是两个完全不同的变量,变量的命名遵守驼峰命名法,首字母小写,第二个单词的首字母大写,例如:userName userPwd hightSchool,禁止使用javascript的保留字和关键字作为变量名。
第五:知道+“运算符”在变量和直接量(字符串)之间或两个字符串之间,用+起连接的作用,如果是两个数字之间用+的话,就是起加法运算中的加法运算。
第六:要知道几种运算符,JS跟数学有点关系,运算符不清楚,后面很难学下去,他有一元运算符和二元运算符,一元运算符:++ --
二元运算符: + - * / %,其中一元运算符中分前加加后加加和前减减后减减,虽然电脑会帮你计算,但自己也要知道下他们的区别和怎么运用的。
第七:了解几种基本的转义符:
”
制表符有四个字符的空格
backspace的缩写 往前删除一个
换行
第八:知道复合赋值运算符,知道a=a+5和a+=5其实是一个意思,只是后面是连写,更方便。
第九:知道什么是关系运算符,关系运算符是用来描述事物两者之间的关系,
> < >= <= == != === !==
第十:JS中的数据类型有几本数据类型和复杂数据类型,string number boolean undefined null 是基本数据类型,复杂数据类型 对象有 Date Array function,其中布尔类型(boolean)只有两种True和False。Undefined是一种数据类型,只有一个值就是undefined,代表变量声明了,没有赋值的一种状态。其中要特别注意变量声明和变量定义是不同的,变量声明指的量,只给变量起了一个名字,并没有数据值,变量的定义,就是连声明加赋值。
第十一:了解几种逻辑运算符,有&& || ! 各代表什么意思,怎么使用,&&要两个条件同时成立他才为True,||只要两个条件中一个成立它就为True,!原来是True的变为False,原来是False的变成True。
第十二:所有的运算符都是有优先级的,优先级从高到低:
()优先级最高
一元算术运算符 ++ -- !
二元算术运算符 先* / %后+ -
关系运算符 > >= < <=
关系(相等)运算符== != === !==
逻辑运算符 先&&后||
赋值运算符 =
第十三:了解各种数据类型的转换:
(1) 转成number
隐式转换 + - * / %
强制转换 使用外部的方法或是函数进行的数据转换
Number() parseInt() parseFloat()
number转换函数
var a = "123";
var c = "123abc";
var b = true;
console.log(Number(a)); // 123
console.log(Number(true)); // 1
console.log(Number(c));//NaN
console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
console.log(Number("123.456")); // 123.456
console.log(Number("")); //0
Number()函数的特点:
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.将整体进行转换,如果有一个不可以转换那么返回NaN.
c.如果在内容中出现小数,那么小数会保留,也会输出小数。
d.如果内容为空(null),那么转换成0;
parseInt() 一个字符一个字符 的进行转换,直到遇到不能转换的字符为止,后面的即使有能转换的字符 也不再看,而且
只能够转换整数 parseFloat()他能够转换小数。
(2) 转string
隐式类型转换 +“”
强制类型 toString() String();
万物皆对象,JS中的对象几乎都有toString(); null,undefined是没有toString()方法,如果要强制转换的话,只能使用String();
能用toString()转换的对象,对String()都可以
(3) 转boolean类型
隐式类型 !!
强制类型 Boolean()
数据类型转boolean的时候,为false的情况:
0, “”,null,undefined,NaN, 这些转成boolean类型的时候都为false,其它的都为true;
第十四:知道 NaN number类型
NaN : not a number 不是一个数字
是数字类型的一种,代表数字的一种不正常的状态,也就是说,本来可以转换成数字或是参与运算的变量,并没有转换过来,这个时候就报一个NaN,这样就避免了程序报错。
NaN是非常特殊 的,特殊到凡是与NaN进行的运算,最终结果都是NaN,更特殊的是,NaN与谁都不相等,包括自己。
isNaN() 是 不是一个数字 非数字。
建议: