函数:函数代表这一个功能的模块
函数特征
1 它只定义一次,但可能被执行或者调用任意次数
2 函数是不会主动运行的,只有被调用时才会执行
3 函数的分类:系统函数、自定义函数
系统函数:
document.write();
alert()
。。。
自定义函数
1 函数的定义:
function 函数名([形参1,形参2...]){
函数体;
[return;]
}
a function:关键字,使用该关键字来定义或者声明一个函数,函数都是从function开始的
b 函数名:函数名是必须的,是给函数命名,命名规则跟变量命名规则一样
c ():其中包含0个或者多个由逗号隔开的形参名称
d {}:其中包含了函数体
e 函数体:具体实现功能的代码块,函数体由0条或多条语句构成,一旦调用函数,函数体就会被执行
f 形参:可以有形参,也可以没有形参。如果函数在实现自身功能的过程中,需要外部传值时,函数就需要形参,
反之就不需要。形参就是用来接收外部传真的
g return: 1》立即结束函数 2》可以返回值
自定义函数分类
1 无参无返回值
2 有参无返回值
3 无参有返回值
4 又参有返回值
函数的调用
1 无参数的调用:函数名();
2 有参数的调用:函数名(实参1,实参2,...);
3 参数:形参和实参
形参:定义函数的时候---相当于在函数中定义的变量
实参:在函数调用的时候----调用函数时传入的具体值
对应:形参和实参要一一对应,个数、数据类型都必须要一致
函数在调用的时候,将会把相对应的实参传递给函数的形参,这个时候形参获取实参去参与运算
五 ES中并未指定函数形参的类型,函数调用也未对传入的实参值做任何的类型检查,在必要的时候
会进行类型转换。但是实参的值和形参的值保持同步,并且ES中所有参数传递的都是值
全局变量和局部变量
全局变量:是指在函数体外声明的变量,在js代码中的任何地方都有意义
局部变量:是指在函数体内声明的变量,局部变量只在当前函数中有意义
1 全局变量和局部变量的特性
a 在函数的外面不能在没有调用函数的情况下访问函数里面的变量,不管是全局变量和局部变量
b 局部变量的优先级高于全局变量
c #如果在函数内定义的变量的前面没有加var这个关键字,那么这个变量就是全局变量#重点
d 函数的参数是局部变量,他们只能在函体内有定义
e 函数也可以嵌套函数,外层函数不能访问内层函数里面的变量
***************************************************
基本数据类型:string number boolean null undefined object
一 object(对象):数据和功能的集合。也可以理解成是属性与功能的集合
属性:有什么---就是通过数据来描述的
功能:能做什么---就是通过函数来描述的(方法)
只有对象才有属性和方法
比如数组:var arr=new Array(5); arr.length
1 如何来获取对象的属性
对象.属性名
var arr=new Array(5);
console.log(arr.length);//获取数组的长度,获取到的这个数据我们叫属性值
2 如何来调用对象的方法
对象.方法名();
document.write("hehe");
window.alert();
function tst(){
console.log(111);
}
window.tst();
var n=10;
console.log(window.n);//10
3 只要加了()就是对象对象的方法,没有()就是对象的属性
二 对象的分类
内置对象:Array Function String Date Math RegExp...,这些都是ES规范定义的对象
宿主对象:DOM(document) BOM(window)
自定义对象:是由运行中的js代码创建的对象
三 字符串对象(String)
1 String.length:获取字符串对象的长度
2 ASCII码
a-z:97---122
A-Z:65---90
0-9:48---57
a String.charCodeAt(字符位置):返回一个字符串某个位置上的字符的ASCII码
b (String).fromCharCode(ASCII码):返回当前ASCII码所对应的字符
3 String.charAt(index):从0开始到length-1结束,获取某个位置上字符,index---索引
4 String.lastIndexOf("子字符串"):在一个字符串对象中去查找一个子字符串的位置,如果没有就返回-1,如果有返回的是最后一个子字符串的位置
5 String.indexOf("子字符串"):在一个字符串对象中去查找一个子字符串的位置,如果没有就返回-1,如果有返回的是第一个子字符串的位置
6 String.substring(start[,end]):截取字符串的一段子字符串,从start开始,到end结束,但是不包括end
7 String.replace("子字符串","替换后的子字符串"):在一个字符串中去查找子字符串,然后替换成另一个字符串
8 String.split("分割符"):将一个字符串按照分割符进行分割,返回的是一个字符串数组
9 String.toLowerCase():将字符串全部转换为小写
10 String.toUpperCase():将字符串全部转换为大写