js是一种脚本语言,注释:单行注释//内容,多行注释/*内容*/
一、标识符
标识符是变量、函数、属性的名字,或者函数的参数。
命名规则:
1.由字母、数字、下划线(_)或者美元($)组成
2.不能以数字开头
3.不能使用关键字,保留字作为标识符
二、编写样式
1.内部样式
2.外部样式
三、变量
用来临时存储信息,区分类型,但没有int之类的关键字
创建方法:var x=1; var x=2,name="zhangsan";
var x; x=1; var name; name="lisi";
四、调试
alert()弹框调试、console.log控制台输出调试
五、自定义函数
自定义函数和内置函数,是完成某一个功能模块的代码段,可以重复执行,方便管理和维护。
创建方式:
1.函数声明,先使用后定义
2.函数表达式,先定义后使用
六、数据类型
(一)简单数据类型
1.undefined:一般指的是已经声明,但是没有赋值的变量,派生自null值,undefined==null ----> 返回的是true
2.null:空对象类型,var a = null; 和 var a = "";有区别;
3.boolean:布尔类型,只有true和false 2种值
4.number:数字类型,整型、浮点型都包括
5.string:字符串类型,必须放在单引号或者双引号中
(二)特殊类型
1.object -- 对象类型,在js中常见的window document array等
2.NaN -- 是Number的一种特殊类型,isNaN() 如果是数字 返回false 不是数字 返回true
3.isNaN() -- 说明:对接受的数值,先尝试转换为数值,再检测是否为非数值。
4.任何涉及NaN的操作(例如NaN/10)都会返回NaN
5.NaN与任何值都不相等,包括NaN本身。
七、typeof
1.功能:检测变量类型
2.语法:typeof 变量 或者 typeof(变量)
3.返回值:string number boolean object underfined function
类型转换
1.parseInt() - 转换成整型
2.parseFloat() - 转换成浮点类型,带小数点
3.Number() - 包括整数和小数
4.Boolean() - 转换成逻辑类型
强制类型转换 : 隐式类型转换
总结:除0之外的所有数字,换换成布尔型都是true
除""之外的所有字符,转换成布尔型都是true
null和undefined转换成布尔型是false
八、变量和作用域
1.局部变量:在函数内部创建的变量,称为局部变量,其他函数不能使用。
2.全局变量:在函数外部创建的变量,称为全局变量,在函数之间可以共享使用。
九、比较运算符
用于比较两个值,结果true或者false
符号: > >= != < <=
x=2 x<10为true,反之为false
对于&& 两个都是true结果是true,如果有一个false结果是false.
对|| ,其中一个是true结果就是true,两个都是false结果才为false
十、逻辑运算符
&&逻辑与、||逻辑或、!逻辑非
十一、三目运算符
1. 根据不同的条件,执行不同的操作/返回不同的值
十二、算数操作符
+加、-减、*乘、/除、%取余
十三、递增递减
递增:a++/++a,
++a先返回递增之后的a的值 -- 先运算再赋值
a++ 先返回a的原来的值,再返回递增之后的值 -- 先赋值在运算
递减:同递增
十四、赋值运算符
简单赋值 =
复合赋值 += -= *= /= %=
十五、比较运算符
==:比较值是否相等。
===:比较值得同时比较数据类型是否相等。
!=:不相等,比较值是否不相等。
!==:不全等,比较值的同时比较数据类型是否不相等。
返回都是boolean类型
十六、运算符的优先级
(小括号) 优先级最高>++、--自加/自减>* / % 乘 除 取余> + - 加 减>< 、 <= 、 > 、>= 逻辑运算> == != 等于 不等于>&& 逻辑与> || 逻辑或> ?: 三目运算符>= 赋值 (优先级最低)
十七、程序控制语句
1. 条件判断控制语句
if(判断条件){}else{}
2.多重if嵌套控制语句
十八、循环类控制语句
1.for循环
2.while循环
先判断条件,条件满足了再执行
3.do-while循环
先执行一次,执行完之后再进行判断
十九、弹出输入框和字符串长度
弹出输入框: prompt(); 点击确定,返回输入的内容,点击取消,返回null。
字符串长度: string.length,获取string字符串的长度, 返回值:number
二十、内置函数
(一)字符函数
substr(0,3):第一个参数表示从哪里开始,第二个表示截取的长度
substring(0,3):从哪里开始,从哪里结束,结尾不包含,算前不算后
charAt(16)):参数一般只有一个
indexOf(6)):当前参数所对应的位置
split 将字符串有规律地转换成数组,切割的意思
replace:需要替换的字符串
(二)日期函数
(三)数学函数
Math.round max min abs
(四)转化函数
二十一、数组
栈方法
(一)push()
把它的参数顺序添加到数组的尾部
返回值:把指定的值添加到数组后的新长度。 返回的是number
(二)unshift
把它的参数顺序添加到数组的头部
返回值:把指定的值添加到数组后的新长度。 返回的是number
(三)pop
删除arrayObj的最后一个元素
返回值:被删除的那个元素
(四)shift
删除arrayObj的第一个元素
返回值:被删除的那个元素
数组的方法
(一)join()
用于把数组中的所有元素放入一个字符串,数组转换成字符串
(二)reverse()
用于颠倒数组中的元素的顺序
返回值:数组
(三)sort()
用于对数组的元素进行排序
返回值:数组
数组操作方法
(一)concat()
用于连接两个或多个数组
(二)slice
从已有的数组中返回选定的元素
start -- 必须 规定从何处开始选取,如果是负数,从数组的尾部开始算起
end -- 可选 规定从何处结束选取,是数组片段结束处的数组下标
start和end指的是数组中的索引值
截取从start到end(不包含的元素),正确的是从start到end-1的元素 -- 算前不算后
返回值:数组
二十二、DOM
DOM: DOCUMENT OBJECT MODEL(文档对象模型)的缩写
查找方法:
1. document.getElementById() -- 根据id获取唯一的一个元素
2. document.getElementsByTagName() -- 返回所有的tag标签引用的集合 -- 返回的是数组
3. document.getElementsByName() -- 返回所有的name属性引用的集合 -- 返回的是数组
4. document.getElementsByClassName() -- 返回包含带有指定类名的所有元素的集合 -- 返回的是数组