一、基本介绍
javascript
网景公司
组成部分:ECMAScript DOM(重点) BOM
四种js的声明方式
第一种方式:在页面的任意位置插入
第二种方式:类似与行内样式,在 a标签中插入js代码
第三种方式:外联样式
第四种方式:直接给一些标签添加事件
三种打印输出方式:
第一种:alert函数,可以弹窗警告,也经常用来调试。
第二种:console.log 打印函数,要配合相关的工具使用
第三种:document.write() 向浏览器中写入内容
二、基本语法
1、变量声明
变量声明:都要以var 开始,也可以不写var,推荐大家写上var。
分号结尾,每一句代码写完之后都要以分号结尾,也可以使用回车符结尾,推荐使用分号,方便后期代码的压缩。
命名规范:
a、由数字、字母、下划线、$等组成。
b、不能以数字开头。
c、不能是系统关键字。
d、严格区分大小写。
e、命名一般采用下面的方式
int float string array bool
iABC fCD sStr aARR bBOOL
2、注释格式
单行注释: //
多行注释:/* */
3、数据类型
整型 浮点型 布尔 数组 对象 未定义 NaN(not a Number)
未定义:如果声明一个变量,未赋值,那就是未定义的undefined。
字符串:
[注]:1、声明字符串可以使用单引号,也可以使用双引号。
2、单引号和双引号都不解释变量。
3、单引号和双引号解释转义字符
4、字符串拼接使用 +
各类型使用对象方式创建:
new Number();
new Boolean();
new Array();
4、运算符
算术: + - * / += -= *= /= % %= ++ –
比较: > < >= <= == === != !== 结果是布尔值
逻辑: && || !
+运算符
【注】:
1、如果两个number类型的数据进行+运算,得到的还是number.
2、如果其中一个数据类型是字符串,那+表示的是拼接字符串。
短路:和php中的一样,在&&运算中,如果第一个表达式为假,则后面的表达式不再进行,在||运算中,如果第一个表达式为真,则后面的表达式不再进行。
将字符串转化为Number的函数
parseInt
a、字符串以字母开头,得到了NaN
b、字符串以数字开头,得到前面的数字。
c、NaN(not a number)当将一个不是数字的字符串转换为数字的时候就会产生NaN。
parseFloat
a、字符串以字母开头,得到了NaN
b、字符串以数字开头,得到前面的数字。
c、NaN(not a number)当将一个不是数字的字符串转换为数字的时候就会产生NaN。
5、Math
是一个对象,在js中,对象访问成员属性和成员方法不是使用->,而使用 .
Math对象常见的方法:
random:得到一个从0至1的随机数,(包含0,不包含1)。
ceil:向上取整
floor:向下取整
max:最大值
min:最小值
round:四舍五入
Number
//alert(Number.MAX_VALUE);
//alert(Number.MIN_VALUE);
6、流程控制
if else else if
switch case break default
for while do-while
6、函数声明
注意事项
a、js中的函数名区分大小写,php中不区分大小写。
b、js中的函数可以重载,后面的函数会覆盖前面的函数。php中的函数不可以重复定义。
默认参数
a、函数中的形参定义时不要加var
b、有参数的函数,在调用的时候,可以传参也可以不传参。
全局变量和局部变量
全局变量:在函数外部定义的变量叫做全局变量,在全局范围内有效,函数内部可以直接使用。
局部变量:在函数体内定义的变量叫做局部变量,在函数体内可以直接使用,但是在函数体外不可以使用。
在函数体内声明变量的时候,如果不加var,当调用了这个函数之后,声明的变量就变成了全局变量,在函数体的外部可以直接使用了。
可变长度参数
arguments, 下标从0开始。
匿名函数
封闭空间:
闭包函数:匿名函数定义好之后直接执行,还可以向函数里面传递参数。
回调函数:
其中的一个参数是一个函数,当调用的时候,会触发里面的这个函数。
内部函数:
函数内部再定义一个函数。
js里面的内部函数,可以在外边直接多次调用。
递归函数:函数自己调用自己
数组声明:
1、var arr = [23,445,78];
var arr2 = new Array();
2、获取数组的长度 length
3、数组遍历 for for in
4、数组的常用方法 push、pop、shift等等
数组常用方法:push pop shift unshift join reverse slice
字符串对象方法
indexOf lastIndexOf substr replace toLowerCase toUpperCase
Date,获取当前月份共有多少天
getDate getDay getMonth
getHours getMinutes getSeconds
setMonth