目录
函数语法
通过关键词function进行定义
//定义函数
function functionName([参数]){
//执行代码
}
要点:
1.function关键词不能被改变
2.函数名命名规则与变量名相同,可包含数字、字母、下划线、美元符号等。为了加强程序的可读性,命名时建议采用驼峰命名法(混合使用大小写,第一个单词小写,第二个单词开始以后每个单词首字母大写)
3.函数名后的()必须存在不能省略。其中可以不包含参数,也可以包含一个或者多个参数,多个参数之间采用逗号进行分隔
this关键字
含义
总是返回一个对象(属性或方法“当前”所在的对象)
应用场景
全局作用域:全局作用域中使用this对象,指向的是window对象
function This(){
console.log(this === window);
}
This(); //输出true,表示this指向window对象
构造函数:指向创建的对象实例
function This(name){ //定义This构造函数
this.name=name;
}
var a=new This('xiaoming'); //调用构造函数赋值给a对象实例
console.log(a.name); //输出 xiaoming
对象的方法:指向该对象(将某个对象的方法赋值给另外一个对象时,会改变this的指向)
var This={
name:'zhangsan',
f:function(){
return this.name;
}
};
var change={
name:'xiaoming'
};
change.f=This.f; //将This的f函数赋值给change,this的指向从This变成change
console.log(This.f()); //输出zhangsan
console.log(change.f()); //输出xiaoming
更改this指向
call():以参数方式传参
apply():以数组方式传递参数
bind():创建函数方式调用
为了更明显地看出三者使用区别,