一、JS用来做什么?
页面分为:结构、样式、行为
行为:交互
人机交互:动作,反应。(点击之后变化)
前后端交互:数据(登录注册)
组成:
ECMAScript:一个标准,相当于法律。(语法)
BOM:浏览器对象模型(浏览器)
DOM:文档对象模型(网页)
二、JS的运行及编写
外部:<script src="路径"></script>
内部:script包裹(不能两合一,都是双标签)
行内(内联):不推荐,不建议使用
打印语句: 由程序呈现出来的信息
alerf():打印弹出框(阻塞程序执行)
document.write():打印页面(影响布局,覆盖页面)
console.log():打印到浏览器控制台
三、变量的概念及基本运算
var 是一个关键字,用来声明一个变量;
=表示赋值(取名字);
声明变量以“=”为区分,左边为变量名(被赋值),右边为存放进变量中的内容(给变量赋值)。
注意:JS中的“=”号,和数学中的“=”不一样,在JS中“=”的作用是赋值(取名字)。
变量的类型
数据类型(number):123,465,3423等等;(NaN:是一种特殊的Number类型,代表意外转换的数字,NaN和任何东西都不相等。厉害到自己都
不等于自己)Number()为强制数据类型转换:
字符类型(string):“123”,“啦啦啦”(被单引号或双引号,包裹的部分,引号必须配套使用)
未赋值(undefined):这是一种特殊类型,当变量被声明,但是没有被赋值的时候,那么该变量的类型的undefined
布尔类型(boolean):true,false (真,假)
数组类型(array):[ ]
对象类型(object):{}object
检查数据类型
关键字:typeof
四、变量命名规则和关键字的介绍
1、必须使用字母,—(下划线),$开头
2、最好语义化,看其名知其意,使用数据类型的首字母做前缀
3、不允许使用关键字和保留字
关键字:系统定义了功能
保留字:系统将来有可能定义功能
变量名有多个单词组成,要使用驼峰式命名法
大:从大一个单词的首字母开始大写
小:从第二个单词的首字母开始大写
五、算术、赋值、关系运算符的讲解
算术运算符
+加法 -减法 *乘法 /除法 %取余
赋值运算符
= += -= *= /= %=
关系运算符
< <= > >= == != ===
逻辑运算符
|| 或 && 且 !非
自增自减运算符
++ --
前自增与后自增有本质的区别,他们相同点都是为自身加了1,不同点是,前自增是先加1,再使用操作数的值,后自增是先使用操作数的值,再加1
六、数据类型的转换
转换成字符型
toString()
var num=123;
num.toString(); (转换成字符型,将num数据类型转换成字符类型,相当于给数值添加一个双引号)
toFixed()
var num=123.4567;
num.toFixed(n); (转换成字符串类型的同时保留n为小数,可以四舍五入保留n位小数)
转换成数值
parseInt(); 转换成整数,可以接受两个值
parseFloat(); 转换成浮点数
两者的不同:
parseInt();该方法从左向右,检测数字或字符串,当第一次发现一个不为数字的字符时,把之前的所有进行返回,如果字符串中第一个就不是数字,那么返回NaN
例如:parseInt("123abc");a做为第一个不是数字的字符;返回a之前的所有值,则该方法返回123
parseInt("abc123");a做为第一个不是数字的字符,且处在字符串的第一位,则判定该字符串无法转换为数字返回NaN
parseFloat();该方法检索数字或字符串后面第一个.后的不为数字的字符,并对之前所有的结果进行返回,如果第一个字符不为数字,那么返回NaN
例如:parseFloat(“123.456");返回123.456
parseFloat(“123.4a56");返回123.4
parseFloat(“123.00");返回123
parseFloat(“123.0a56");返回123
Math.round();严格转换,取最近的整数,不允许出现任何非数字,出现即为NaN
Nunmber();严格转换,可以识别小数点
NaN:代表:意外或非法转换的数字
数据类型的转换
隐式:
场景:
规则:
显式(强制):
方式:什么方法
结果:谁转谁
隐式类型的转换
场景:if的小括号内
规则:任何类型最终都被转为布尔值
数字:非0位true,0位false
字符:非空为true
undefined为false
对象:任何情况都是true
数组:任何情况都是true
函数:任何情况都是true
三个特殊值:NaN、undefined、null 都为false